P1とP2という2つのプロセスがあります。これらのプロセスがソケットまたは他のプロセス間通信メカニズムを介して通信していることを確認する簡単な方法はありますか?見た目には関係がないように見える2つのアプリケーションが後ろから通信できるため、これを知っておく必要があります。
答え1
両方のプロセスで開かれたファイル記述子を使用して表示lsof -p P1
できます。lsof -p P2
その後、各開いているソケットとパイプのリストを見て、同じIDがあることを確認できます。
imac:barmar $ sleep 100 | sleep 100 &
[1] 51885
imac:barmar $ jobs -l
[1]+ 51884 Running sleep 100
51885 | sleep 100 &
imac:barmar $ lsof -p 51884 | grep -i pipe
sleep 51884 barmar 1 PIPE 0x491a6929f9ea1ca9 16384 ->0x491a6929f9e9fae9
imac:barmar $ lsof -p 51885 | grep -i pipe
sleep 51885 barmar 0 PIPE 0x491a6929f9e9fae9 16384 ->0x491a6929f9ea1ca9
最初のプロセスのパイプ・ターゲットIDは、2番目のプロセスのパイプ・ソースIDと同じです。これは、同じチューブの2つの端であることを示しています。