我有一個要求獲取特定程序正在監聽的所有端口號。該程序本身是一個通用的服務器類型程序(我們稱之爲myserverd
)。 myserverd
可以配置爲在任何TCP端口上偵聽,並且在機器上可以運行多個myserverd
實例。以編程方式或從procfs獲取netstat進程名信息
我可以得到正在使用的端口由grep
運行myserverd
實例「中netstat -natp
荷蘭國際集團爲myserverd
(p
選項,以顯示在netstat
程序名)
我想看到的procfs該信息(/proc/net/tcp
),但它不顯示任何進程名稱......我的問題是:是否有一個好的/可靠的API,可以用來編程地找出哪些進程正在監聽某個特定的端口(或者讓所有進程名稱綁定到所有監聽端口)...?
http://source.winehq.org/source/dlls/iphlpapi/iphlpapi_main.c#L1842 – Abhineet 2013-02-16 12:02:59
謝謝,但我正在尋找一個* nix/posix解決方案(因此我的'linux'標籤) – 2013-02-16 12:10:58