diff --git a/bindings/java/src/net/hyperic/sigar/ProcUtil.java b/bindings/java/src/net/hyperic/sigar/ProcUtil.java index d05edc72..e0df1e3a 100644 --- a/bindings/java/src/net/hyperic/sigar/ProcUtil.java +++ b/bindings/java/src/net/hyperic/sigar/ProcUtil.java @@ -65,4 +65,35 @@ public class ProcUtil { return null; } + + public static String getDescription(SigarProxy sigar, long pid) + throws SigarException { + + String[] args; + ProcState state = sigar.getProcState(pid); + String name = state.getName(); + + try { + args = sigar.getProcArgs(pid); + } catch (SigarException e) { + args = new String[0]; + } + + if (name.equals("java") || name.equals("javaw")) { + String className = null; + try { + className = getJavaMainClass(sigar, pid); + } catch (SigarException e) {} + if (className != null) { + name += ":" + className; + } + } + else { + if (args.length != 0) { + name = args[0]; + } + } + + return name; + } } diff --git a/bindings/java/src/net/hyperic/sigar/cmd/Ps.java b/bindings/java/src/net/hyperic/sigar/cmd/Ps.java index a4ff55da..097cf63c 100644 --- a/bindings/java/src/net/hyperic/sigar/cmd/Ps.java +++ b/bindings/java/src/net/hyperic/sigar/cmd/Ps.java @@ -120,25 +120,7 @@ public class Ps extends SigarCommandBase { info.add(unknown); } - String name = state.getName(); - if (name.equals("java") || name.equals("javaw")) { - String className = null; - try { - className = ProcUtil.getJavaMainClass(sigar, pid); - } catch (SigarException e) {} - if (className != null) { - name += ":" + className; - } - } - else { - try { - String[] args = sigar.getProcArgs(pid); - if (args.length != 0) { - name = args[0]; - } - } catch (SigarException e) {} - } - + String name = ProcUtil.getDescription(sigar, pid); info.add(name); return info;