我认为标题解释了问题,事实上,如果我有一个运行应用程序的主机和端口,我们如何用java来确定名称。
public String getApplicationName(String host,int port) {//some code}
答案 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();
}