私は通常、次のように特定のtcpポートを開くpidを確認するためにfuserコマンドを使用します
fuser 22/tcp //To get pid opening the 22 tcp port
組み込み Linux を実行するリファレンス ボードがあります。ssh 接続用に 22 の tcp ポートを既に開いています。ただし、定着器は 22 ポートに関する出力を何も表示しません。そこで、別の ssh デーモンで 322 ポートを開いてから、fuser を使用して pid をチェックしようとしましたが、問題なく動作しました。
root@imx6qsabreauto:~# netstat -nlt | grep 22
tcp 0 0 0.0.0.0:4224 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:322 0.0.0.0:* LISTEN
tcp 0 0 :::322 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
root@imx6qsabreauto:~# fuser 322/tcp
351
root@imx6qsabreauto:~# ps -ef | grep 351
root 351 1 0 01:46 ? 00:00:00 /usr/sbin/dropbear -r /etc/dropbear/dropbear_rsa_host_key -p 322 -B
root 379 315 0 02:11 ttymxc3 00:00:00 grep 351
root@imx6qsabreauto:~# fuser 22/tcp
==> This output nothing !!
どのプロセスが tcp 22 ポートを開いているかを調べるにはどうすればよいですか。(ボードでは、lsof コマンドは使用できず、.. netstat には -p オプションがありません。)