public static void main(String[] args) throws SigarException { String pid; if (args.length == 0) { pid = "$$"; //default to this process } else { pid = args[0]; } Sigar sigar = new Sigar(); ProcState procState = sigar.getProcState(pid); String state; System.out.println(procState.getName() + ": " + getStateString(procState.getState())); sigar.close(); } }
if (pid != 0) { //XXX another bug String name = this.sigar.getProcState(pid).getName(); process = pid + "/" + name;
public void output(String pid) throws SigarException { println("pid=" + pid); try { println("state=" + sigar.getProcState(pid)); } catch (SigarException e) { if (this.isSingleProcess) { println(e.getMessage()); } } try { println("mem=" + sigar.getProcMem(pid)); } catch (SigarException e) {} try { println("cpu=" + sigar.getProcCpu(pid)); } catch (SigarException e) {} try { println("cred=" + sigar.getProcCred(pid)); } catch (SigarException e) {} try { println("credname=" + sigar.getProcCredName(pid)); } catch (SigarException e) {} }
ProcState state = sigar.getProcState(pid); return (Map<String, String>) state.toMap();
/** * Check if the process is already running in this env. * * @param startMode monitor or agent */ public void checkDuplicatedRun(String startMode) { Sigar sigar = new Sigar(); String existingPid = this.agentConfig.getAgentPidProperties(startMode); if (StringUtils.isNotEmpty(existingPid)) { try { ProcState procState = sigar.getProcState(existingPid); if (procState.getState() == ProcState.RUN || procState.getState() == ProcState.IDLE || procState.getState() == ProcState.SLEEP) { printHelpAndExit("Currently " + startMode + " is running with pid " + existingPid + ". Please stop it before run"); } agentConfig.updateAgentPidProperties(startMode); } catch (SigarException e) { noOp(); } } this.agentConfig.saveAgentPidProperties(String.valueOf(sigar.getPid()), startMode); }
public ProcState getProcState(String pid) throws SigarException {return _sigar.getProcState(pid);}
public ProcState getProcState(long pid) throws SigarException {return _sigar.getProcState(pid);}