Ssh

如何查看 TCP 的程序 ID?

  • September 13, 2022

當我想查看應用程序的程序 ID 時,我會這樣做ps -aux | grep <application>。例如,當我這樣做時,我會ps -aux | grep ssh看到 SSH 的程序 ID。

但是當我這樣做時,ps -aux | grep tcp它什麼也沒有輸出,即使我正在積極使用網際網路。

如何查看 TCP 的程序 ID?

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 數據包的前進過程。

引用自:https://unix.stackexchange.com/questions/717179