"netstat -p"/"ss -p"はポートでリッスンしているプロセスを表示しません。

私のCentOS 7では、ある時点でsudo ss -pltLISTENINGとマークされたポートがリストされていますが、その*:30565行のプロセス列には情報がありませんでした。他の受信ポートは、たとえば通常どおり独自の所有プロセスを表示しますusers:(("sshd",pid=1381,fd=3))が、この行にはプロセス情報はありません。lsof -i :30565または、netstat -p情報は生成されません。

私はこれを再現することはできず、「非プロセス」がポートでリッスンしている状況を想像するのは難しいです(tcpリスニングプロセスが終了すると、Linuxが期待されるクリーンアップを実行すると確信しているため)。この問題は複数のプログラムでも発生するので、私が考えることができる唯一の説明は、これがCentOSの「意図的ではあるが非常にルートキット」の動作であるということです。しかし、明らかに何かが落ちました。原因は何ですか?

ベストアンサー1

場合によっては(NFSなど)、プロセス情報を表示しないことのポイントnetstatは、NFSがカーネルモジュールであるため、通常のプロセスとして実行されず、PIDがないことです。

Google検索にNFSが含まれている場合は、定期的にこの状況のスレッドを見つけることができます。

netstatは一部のポートのPID /プログラム名を報告しません。

注:sudoを使用していない他のユーザーの場合は、-pを使用してポートの関連プロセスを表示するにはroot権限が必要です。

おすすめ記事