特定のPIDを持つプロセスが外部コマンドを使用せずにポートを開いたかどうかを知る必要があります。次に、/procファイルシステムを使用する必要があります。/proc/$PID/net/tcpたとえば、ファイルを読み取って、プロセスによって開かれたTCPポートに関する情報を取得できます。ただし、マルチスレッドプロセスでは、/proc/$PID/task/$TIDディレクトリにはnet/tcpファイルも含まれます。私の質問は:
すべてのスレッドnet/tcpファイルを調べる必要がありますか、それともスレッドによって開かれたポートがプロセスnet/tcpファイルに書き込まれますか?
fd各スレッドのすべてのディレクトリを調べる必要がありますか?または、/proc/pid/fdディレクトリはディレクトリを「継承」し/proc/pid/task/tid/fdますか?