我想在Java,Ubuntu中获取给定PORT ID的进程名称。我发现样本如何在Windows中执行(Runtime中的tasklist)。但我需要在Linux中知道这一点。在Ubuntu-Linux上获取给定Java端口的进程名称?
1
A
回答
4
如果要列出监听到一定端口的应用程序,你可以结合使用unix命令lsof
与awk
:
lsof -i :80 | awk '{print $1}'
这将列出你,即从该处理命令名,其监听端口80
在你javacode你必须写以下内容:
int port = 80;
Process p = Runtime.getRuntime().exec("lsof -i :" + port + " | awk '{print $1}'");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = reader.readLine()) != null) {
System.out.println(s);
}
请注意,如果你想获得基于一个进程ID(PID),进程名称,你可以使用它代替:
Process p = Runtime.getRuntime().exec("ps -ef | awk '{if($2==\"" + pid + "\") print $8}'");
2
/proc
文件系统有帮助。 /proc/$PID/exe
是与进程ID对应的可执行文件的符号链接。显然,你可以简单地从Java读取该文件。
编辑:之前,你问过“进程ID”,现在它是关于一个TCP/IP端口...,使我的答案无用。
+0
谢谢。但是请介意让我知道示例代码,请使用Java? –
相关问题
- 1. 如何获取C#中的开放端口的进程名称?
- 2. 以编程方式获取给定进程名称和ppid
- 3. 获取服务名称的端口号?
- 4. 如何使用java在linux中获取特定端口上的进程信息
- 5. 获取进程名称窗口标题名称和安装的软件名称
- 6. SharpPcap获取进程名称
- 7. 如何获取端口名称列表?
- 8. 从进程名称获取进程ID
- 9. 如何在Windows上使用Qt获取开放端口的进程名称和二进制路径?
- 10. 从java获取接口名称
- 11. 获取给定Enum值的枚举名称的Java
- 12. 通过窗口句柄获取未知进程的名称?
- 13. 如何获取服务器名称,端口和上下文
- 14. 以编程方式获取友好端口名称
- 15. 如何在QT中获取加载进程的进程名称
- 16. 获取伪终端的主端口名称
- 17. 获取Java程序的名称
- 18. 获取模块名称和进程名称在LINUX C++
- 19. Java中COM端口的友好名称?
- 20. 端口到Java中的服务名称?
- 21. 如何通过给定的元素名称获取pvob名称?
- 22. 如何在WPF中获取打印机的名称和端口名称?
- 23. 从进程名称获取应用程序名称
- 24. 如何从进程名称获取应用程序名称?
- 25. 如何使用给定名称来杀死java进程?
- 26. 获取java进程的名称而不是pid?
- 27. 获取终端名称
- 28. 如何在Mac OS上按名称获取进程?
- 29. 从C#获取正在运行的Java程序的名称(如.NET应用程序的进程名称)
- 30. 获取进程名称,使用AppleScript
你的意思是进程id? – assylias
不是进程ID。我想知道给定端口的进程名称。 –
@Débora我认为你刚刚改变了以前“如何获得给定PID的进程名称”的整个问题的本质。 –