1

コマンド プロンプトから netstat を実行して、次のようなマシンで 1 つのポートが既に使用されているかどうかを確認できます。

netstat -nap | grep <port-num>

特定のポートが現在使用されているかどうかを確認するために、Linux の C++ でどの関数を呼び出すことができますか? netstat 自体へのシステム コールを実行したくありません。

4

1 に答える 1

3

もしあなたがそうするなら:

strace netstat -nap

その情報を取得するために netstat が行っていることを推測できます。

例えば:

open directory: openat(AT_FDCWD, "/proc/2073/fd", ...) = 4)
get entries: getdents(4, /* 15 entries */, 32768)    = 360
read symbolic links: readlink("/proc/2073/fd/4", "socket:[48395]", 29) = 14 
that one was a socket connected on port 48395
于 2013-02-26T00:57:22.800 に答える