protected long getProcPid() { if (pid != null) { return pid.longValue(); } pid = new Long(sigar.getPid()); return pid.longValue(); }
public void testCreate() throws Exception { Sigar sigar = getSigar(); try { sigar.getProcFd(getInvalidPid()); } catch (SigarException e) { } try { long pid = sigar.getPid(); long total = sigar.getProcFd(pid).getTotal(); SigarLoader loader = new SigarLoader(Sigar.class); String path = loader.findJarPath(null); File file = new File(path, loader.getJarName()); traceln("Opening " + file); FileInputStream is = new FileInputStream(file); assertEqualsTrace("Total", total + 1, sigar.getProcFd(pid).getTotal()); is.close(); assertEqualsTrace("Total", total, sigar.getProcFd(pid).getTotal()); } catch (SigarNotImplementedException e) { // ok } catch (SigarPermissionDeniedException e) { // ok } }
/** * Gets the java home folder through the process ID of this process. * * @return The path to the java folder * @throws CLIException Reporting a failure to retrieve the java home directory */ private String getJavaHomeDirectory() throws CLIException { try { final Sigar sigar = SigarHolder.getSigar(); final long thisProcessPid = sigar.getPid(); // get the java path of the current running process. final String javaFilePath = sigar.getProcExe(thisProcessPid).getName(); final File javaFile = new File(javaFilePath); // Locate the java folder. final File javaFolder = javaFile.getParentFile().getParentFile(); final String javaFolderPath = javaFolder.getAbsolutePath(); return javaFolderPath; } catch (final SigarException e) { throw new CLIException("Failed to set the JAVA_HOME environment variable.", e); } }
public void testCreate() throws Exception { Sigar sigar = getSigar(); try { sigar.getProcEnv(getInvalidPid()); } catch (SigarException e) { } long pid = sigar.getPid(); try { Map env = sigar.getProcEnv(pid); traceln(env.toString()); String key = "JAVA_HOME"; String val = (String) env.get(key); String single = sigar.getProcEnv(pid, key); if (val != null) { assertTrue(new File(val, "bin").exists()); assertTrue(val.equals(single)); traceln(key + "==>" + single); } key = "dOeSnOtExIsT"; val = (String) env.get(key); assertTrue(val == null); val = sigar.getProcEnv(pid, key); assertTrue(val == null); } catch (SigarNotImplementedException e) { // ok } catch (SigarPermissionDeniedException e) { // ok } long[] pids = sigar.getProcList(); for (int i = 0; i < pids.length; i++) { // traceln("pid=" + pids[i]); try { sigar.getProcEnv(pids[i]); } catch (SigarException e) { } } }