/proc/<pid>/net/tcp
仮想マシンにSSHで接続し、zshシェルを見つけます。この行が見えます。
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
...
3: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 19127 1 0000000000000000 100 0 0 10 0
私が意味するものを誤解しない限り、zshはポート22でリッスンしています。 zshプロセスはsshdを実行するプロセスの子孫であることを知っていますが、sshdはフォーク後にリスニングソケットを閉じませんか?
答え1
zshがポート22でリッスンするのはなぜですか?
そうではありません。代わりに、表示された情報を誤って解釈しています。
/proc/pid/net/
つまり、特定のプロセスが開いている接続だけでなく、プロセスが存在する名前空間全体のネットワーク情報も表示されます。を使用したい場合がありますlsof -n -p pid
。