私はアプリケーションのプロセスIDを見たいときにこれを行いますps -aux | grep <application>
。たとえば、これによりps -aux | grep ssh
SSHのプロセス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 パケット処理に抽象的に含めることができます。