使用java获取正在运行的应用程序的名称

时间:2016-08-22 10:39:02

标签: java

我认为标题解释了问题,事实上,如果我有一个运行应用程序的主机端口,我们如何用java来确定名称。

public String getApplicationName(String host,int port) {//some code} 

2 个答案:

答案 0 :(得分:0)

  

主机和运行应用程序的端口

只有操作系统才能知道现在正在运行的应用程序。因此,无法获得有关避免编写OS specific逻辑的进程的信息。

对于Windows来说,它看起来像是:

Process proc = Runtime.getRuntime().exec ("tasklist.exe");
InputStream procOutput = proc.getInputStream ();
if (0 == proc.waitFor ()) {
    // TODO scan the procOutput for your data
} 

答案 1 :(得分:0)

抱歉,我在之前的评论中得出结论。我想从命令中获取进程列表可能很有用。再次特定操作系统...

try {
    String line;
    Process p = Runtime.getRuntime().exec("ps -e");
    BufferedReader input =
            new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((line = input.readLine()) != null) {
        System.out.println(line); //
//Run you pattern matcher here to parse data - host & port etc.
    }
    input.close();
} catch (Exception err) {
    err.printStackTrace();
}