java如何获取unix进程信息

解决方案 »

  1.   

    linux的所有东西都是文件
    包括一些信息,cpu信息硬盘信息,当然也包括进程信息在/prov目录下,有一些目录和文件
    以数字为目录名的,就是进程信息目录
    里面的文件内容,就是进程信息
    入cmdline,是这个进程启动时用的命令行具体的查查资料吧,我也不是太精通了linux是这样,unix应该也不差
      

  2.   

    用java解析下面命令的输出就可以了:
    ps -ef
      

  3.   

    写个简单的例子
            ProcessBuilder pb = new ProcessBuilder("netstat", "-ano");
            Process process = pb.start();        InputStreamReader isr = new InputStreamReader(new BufferedInputStream(process.getInputStream()));
            char[] buffer = new char[1024];        while (isr.read(buffer) != -1) {
                for (char c : buffer) {
                    System.out.print(c);
                }
            }
      

  4.   

    可以读取proc文件信息   
      在/proc目录下,每个进程按进程号有一个目录,之下有各种信息   
      cwd  : 运行路径   
      exe         :       程序名   
      fd           :       目录,里面是进程所打开的文件描述符   
      stat/status     :   各种信息