首頁  >  文章  >  系統教程  >  在 Linux 中如何找到父進程 PPID?

在 Linux 中如何找到父進程 PPID?

WBOY
WBOY轉載
2024-02-14 13:42:22945瀏覽

核心所建立的行程稱為「父行程」。從父進程派生或產生的進程稱為「子進程」。父進程可能由多個子進程組成,每個子進程都有唯一的PID(進程 ID)但共用相同的 PPID。

在本指南中,我們探討了可用於尋找 Linux 系統上的父行程 ID (PPID) 或流程的各種方法。

PID 和 PPID 有什麼不同?

載入到記憶體中並運行的程式稱為進程。一旦啟動,進程將獲得一個唯一編號,稱為進程 ID ( PID ),在系統中唯一標識它。可以隨時使用其PID來引用該進程。例如,要終止一個進程,您必須先知道它的PID。

除了PID之外,每個行程還被指派了一個父行程ID ( PPID ),顯示是哪個行程產生了它。因此,PPID是進程父進程的PID。

為了說明這一點,我們假設PID為5050的進程5啟動進程6。進程 6 將被分配一個唯一的PID,例如6670,但仍將被指派PPID 5050。

這裡的父行程是行程5,子行程是6。子程序被分配了一個唯一的PID但PPID與父進程的 PID 相同(進程 5)

單一父進程可以啟動多個子進程,每個子進程都有唯一的 PID 但都共用相同的PPID。

在 Linux 中尋找父進程 ID (PPID)

#在 Linux 系統上尋找正在運行的進程的PPID有兩種主要方法:

  • 使用 pstree 指令。
  • 使用 ps 指令。

使用 pstree 指令尋找 Linux 程序 PPID

pstree命令是一種命令列工具,它以樹的形式顯示正在運行的進程,這使得在層次結構中顯示進程成為一種方便的方式。它以樹狀層次結構顯示父子關係。

透過該 -p選項,pstree顯示所有正在運行的父進程及其對應的子進程和各自的 PID。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ pstree -p
在 Linux 中如何查找父进程 PPID?

在樹狀層次結構中顯示 Linux 正在運行的進程

從輸出中,我們可以看到父進程 ID 和子進程 ID。

為了演示,我們將使用以下命令檢查 Mozilla Firefox 的 PPID 以及整個進程層次結構:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
⚡ pstree -p | grep 'firefox'
在 Linux 中如何查找父进程 PPID?

尋找 Linux 程序的 PPID

從輸出可以看出 Firefox 的PPID 為 21401,其餘為子程序的PID。

要只顯示 Firefox 的PPID並跳過其餘輸出,請將輸出透過管道傳遞給 head 命令以-1顯示第一行。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
⚡ pstree -p | grep 'firefox' | head -1
在 Linux 中如何查找父进程 PPID?

列印 Linux 進程的 PPID

使用 ps 指令尋找 Linux 程序 PPID

#尋找進程PPID的另一個選項是 ps 命令,這是一個廣泛使用的命令,用於顯示Linux 系統上目前正在執行的進程。

當與該-ef選項一起使用時,ps 命令會列出所有正在運行的進程及其詳細信息,例如UID、PID、PPID等。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
⚡ ps -ef
在 Linux 中如何查找父进程 PPID?

使用 PID 列出正在運行的 Linux 進程

要縮小範圍並顯示特定進程的PPID,例如Firefox,請傳遞-e選項並將輸出透過管道傳遞給 grep 命令,如圖所示:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
⚡ ps -e | grep 'firefox'
  21401 ?        00:00:11 firefox
在 Linux 中如何查找父进程 PPID?

查找 Linux 進程 PID

再一次,從輸出中,您可以看到 Firefox 的 PPID 是 21401。

在本指南中,我們示範如何在 Linux 系統上找到執行的進程的 PPID。您可以使用 pstree 指令或 ps 指令來達到相同的目標。

以上是在 Linux 中如何找到父進程 PPID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除