protected long getProcPid() {
   if (pid != null) {
     return pid.longValue();
   }
   pid = new Long(sigar.getPid());
   return pid.longValue();
 }
Example #2
0
  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
    }
  }
Example #3
0
  /**
   * 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);
    }
  }
Example #4
0
  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) {
      }
    }
  }