TCPプロセス番号を確認するには?

TCPプロセス番号を確認するには?

私はアプリケーションのプロセスIDを見たいときにこれを行いますps -aux | grep <application>。たとえば、これによりps -aux | grep sshSSHのプロセスIDが表示されます。

ところで、これを行うps -aux | grep tcpと、インターネットを積極的に使用していますが、何も出力されません。

TCPのプロセスIDを確認するには?

ベストアンサー1

TCPはプロセスではなく、カーネル内のスタックまたはサブシステムです。 「プロセスID」がないため、タスクの一部としてタスクを実行するカーネルスレッドではこれを行うことができます。 TCPスタック操作を実行するために必要な操作は、複数のkthread、ユーザー空間プロセスのカーネルスタック、および他の場所に分散されます。

たとえば、コンピューターで kworkers を表示するには、次のようにします。

% pgrep -af kworker | head
24 kworker/1:0H-events_highpri
30 kworker/2:0H-events_highpri
36 kworker/3:0H-events_highpri
42 kworker/4:0H-kblockd
48 kworker/5:0H-events_highpri
54 kworker/6:0H-events_highpri
60 kworker/7:0H-events_highpri
120 kworker/1:1H-events_highpri
121 kworker/0:1H-kblockd
151 kworker/7:1H-events_highpri

そのうちのいくつかはある種の仕事に専念し、他のものはより広い範囲を持っています。 TCP スタックには、ネットワークだけでなく CPU スケジューラ、メモリ、その他のリソースも含まれるため、カーネルのさまざまな部分を TCP パケット処理に抽象的に含めることができます。

おすすめ記事