特定の TCP ポートが開いている自分が所有するプロセスの pid を見つけるために、fuser を使用しようとしています。
フューザーのマニュアルページには次のように書かれています:
... この問題が最もよく発生するのは、fuser を root 以外のユーザーとして実行しているときに TCP または UDP ソケットを探すときです。この場合、fuser はアクセスなしを報告します。...
ただし、私のUbuntuボックスでは、fuserは私が所有するプロセスに対して開いているソケットを報告します。
perl -MIO::Socket 'IO::Socket::INET->new(Listen => 10, LocalPort => 3000)' &
フューザー -n tcp 3000
質問: これを可能にするために、どのように設定されていますか? カーネル構成オプションですか?
ありがとう!
注: 問題は、fuser が通常のユーザーとして実行されているときに、fuser がソケットを所有しているプロセスを報告するように、一部の Linux ディストリビューションをどのように構成しているのかということです。プロセスを所有している場合、1つのUbuntuディストリビューション「fuser -n tcp 3000」はプロセスを報告しますが、別のLinuxディストリビューション(Centosだと思います)では、プロセスを所有していてもプロセスを報告しません。