【问题标题】:Get Activity Monitor (Mac OSX) through Java通过 Java 获取活动监视器 (Mac OSX)
【发布时间】:2009-07-20 17:12:14
【问题描述】:

有没有一种方法可以使用 Java 获得在 Mac 上运行的所有活动进程的列表?

我可以在 Windows 中使用以下代码返回任务列表,但在 Mac 上会引发异常。如果某些应用程序也在运行,我希望我的应用程序停止。

有什么想法吗?谢谢。

Windows 代码:

Process p = Runtime.getRuntime().exec("tasklist.exe /nh");
            BufferedReader input = new BufferedReader
            (new InputStreamReader(p.getInputStream()));

            //while there are more processes in the task manager list
            while ((line = input.readLine()) != null) {
                      //insert code here for each task running
            }

【问题讨论】:

    标签: java macos monitoring android-activity


    【解决方案1】:
      String line;
      String sysUserName=System.getProperty("user.name");
        Process p = Runtime.getRuntime().exec("tasklist /fi  \"username      eq"+sysUserName+"\""); // for windows
        // Process p = Runtime.getRuntime().exec("ps -u "+sysUserName+""); // for mac
        BufferedReader input =
                new BufferedReader(new InputStreamReader(p.getInputStream()));
        while ((line = input.readLine()) != null) {
            System.out.println(line); //<-- Parse data here.
    
        }
        input.close();
    

    【讨论】:

      【解决方案2】:

      tasklist.exe 在 Mac 上不存在。使用类似 ps -eaf

      【讨论】:

      • 我需要以编程方式监控进程。有没有办法做到这一点?我不知道在终端中输入该命令是否会向我的程序返回一个包含所有进程名称的某种数组。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多