回答
我希望有一个更聪明的答案会出现。我做了这个(以Python编程),试图重写一个名为NetHogs的程序。我的版本号为is here,特别是here is the module in Python,用于从/proc
解析表格。如果你不是Python literate(去了解它),然后看看original NetHogs,它使用C/C++的混合(并且因此重写有点痛苦)。
值得注意的是,大量或快速反复尝试解析来自/proc
的套接字信息非常耗费CPU资源,因为操作系统必须处理所有系统调用,并动态解析内部结构。因此,您会发现一些缓存,以及我已将您链接到的两个项目源中的时间假设。
简而言之,您需要将在/proc/<pid>/fd
中给出的每个进程的套接字inode与/proc/net/<proto>
中给出的连接关联起来。再次,示例解析以及如何找到所有这些都出现在这两个项目中。
exec('netstat');
有关打开文件(包括套接字)的信息可以从/proc
目录中挖出。
This article给出了很多细节,让你开始。
您必须实现以下几点:
插座=
ls -l /proc/<pid>/fd | grep socket | sed 's/.*socket:\[//' | sed 's/\]//'
的grep $插座的/ proc /净/ TCP
解析从之前的命令的输出(第二个条目包含端口信息)
+1,因为我的建议的骨头上放了一些肉。如果我正在实施,这可能是足够的信息。 – 2010-07-22 11:17:00
ss -nltup
netstat -ltupn
lsof -iTCP -sTCP:LISTEN
编辑:啊对不起,不是程序化的。但如果你想分叉一个进程很有用。 每次重新发明车轮都没有意义。
- 1. 如何阻止与我的应用程序打开的端口的连接?
- 2. 使用打开的端口获取应用程序
- 3. 如何打开我们的应用程序中的其他应用程序iphone
- 4. 我如何获得REAL Apple Watch打开父应用程序
- 5. 打开文件与相关的应用程序
- 6. 如何启动我们的应用程序,因为Iphone打开
- 7. 我如何才能从Facebook获得与Facebook相关的应用相关信息?
- 8. 我们如何通过程序关闭打开的Url?
- 9. 如何打开我的端口/什么阻止我的端口?
- 10. 如何隐藏与我的应用程序打开的控制台窗口?
- 11. 如何从我的应用程序打开ola应用程序?
- 12. 与相关程序打开文件
- 13. 如何打开我的端口80 ngrok
- 14. 获得10个数字并以相反顺序打印它们的程序
- 15. 与应用程序窗口相比获得CGPoint
- 16. 如何获得域名链接以在Android上打开我的应用程序?
- 17. 如何获得“第一次打开” - 查看我的应用程序?
- 18. 如何关闭第一窗口,并打开不同的窗口,但在相同的应用程序(如Skype)
- 19. 如何在“打开”中获取我的应用程序
- 20. 如何让SeleniumRC打开Firefox窗口而不关注它们?
- 21. 如何将目录与我的应用程序相关联
- 22. 如何从终端打开带有相应应用程序的文件?
- 23. 如何获得它们在WhatsApp的或其他应用程序使用的Android
- 24. Boot2Docker管理端口和打开的Web应用程序
- 25. 在Heroku应用程序中打开两个不同的端口
- 26. 关闭delphi应用程序以及它打开的另一个应用程序
- 27. 我们如何在Android应用程序开发中获得语音输出?
- 28. 端口80已关闭。如何打开它
- 29. 从我们的应用程序打开另一个应用程序?
- 30. 从Windows 8.1中的我的应用程序打开相机应用程序
netstat告诉你哪些端口是打开的,但不是哪些应用程序打开它们。 LSF会做到这一点。 – 2010-07-22 06:03:30
'netstat -p'显示PID – n0rd 2010-07-22 06:56:54
@ n0rd:所有这些年,我都不知道!非常感谢那个提示,+1! – 2010-07-22 11:18:18