linux ppid是什麼意思
在linux中,ppid指的是父行程的PID,也就是父行程的行程ID號。當一個進程被創建時,創建它的那個進程被稱作父進程,子進程用PPID指出誰是其父進程;可執行「ps -ef | grep 進程名」命令來查看,輸出結果的第三列就是ppid值。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
一個進程包含多個屬性參數,透過使用ps 命令,我們可以查看當前系統中有關進程的詳細信息,例如:
[root@localhost ~]# ps -le F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIMECMD 4 S 0 1 0 0 80 0 - 718 - ? 00:00:02 init 1 S 0 2 0 0 80 0 - 0 - ? 00:00:00 kthreadd …省略部分输出…
可以看到,每個進程都包含F 、S、UID、PID 等屬性,這些屬性參數決定了進程被處理的先後順序、能夠存取的資源等,對於系統管理員和程式設計師都非常重要。
下面這篇文章就來跟大家介紹UID、PID、PPID等常用屬性參數。
UID(真實使用者ID)
UID 使用者身分證明(User Identification)的縮寫。 UID使用者在註冊後,系統會自動的給你一個UID的數值。意思就是給這名用戶編個號碼。
只有進程的創建者和 root 使用者才有權利對該進程進行操作,因此記錄一個進程的創建者(也就是屬主)就顯得非常必要。進程的 UID 就是其創建者的使用者 ID 號,用來標識進程的屬主。
EUID(有效用戶ID)
除了UID外,Linux 還為進程保存了一個“有效用戶 ID 號碼”,被稱為 EUID。這個特殊的 UID 號碼用來決定進程對某些資源和檔案的存取權限。在絕大部分情況下,進程的 UID 和 EUID 是一樣的,除了著名的 setuid 程式。
那麼,什麼是 setuid 程式呢?前面講了 passwd 指令,這個指令允許使用者修改自己的登入口令。但讀者是否考慮過這個問題,密碼保存在 /etc/shadow 文件中,這個文件對普通用戶是不可讀的,那麼用戶為什麼能夠透過修改 shadow 文件來修改自己的口令呢?
這就是setuid 的妙處了,透過讓passwd 在執行階段具有檔案擁有者(也就是root)的權限,讓使用者暫時有了修改shadow 檔案的能力(當然這種能力是受到限制的)。因此,passwd 就是一個典型的 setuid 程序,其 UID 是目前執行這個指令的使用者 ID,而 EUID 則是 root 使用者的 ID(也就是 0)。
PID(進程的 ID 號碼)
系統為每個使用者都指派了用於識別其身分的 ID 號碼(UID)。同樣地,進程也有這樣一個 ID 號,被稱為 PID(Process Identification)。
要知道,用ID 確定進程的方法是非常有好處的,因為對於電腦而言,認識數字永遠比認識一串字元方便得多,Linux 沒有必要去理解那些對人類非常「有意義」的進程名。
不僅 Linux 自己使用 PID 來決定進程,也要求使用者在管理進程時,也要提供對應的 PID 號碼。事實上,幾乎所有的進程管理工具接受的也都是 PID 號,而不是進程名。
PPID(父行程的PID)
在Linux 中,所有的行程都必須由另一個行程建立(除了在系統開機時,由核心自主建立並安裝的那幾個進程)。當一個進程被創建時,創建它的那個進程被稱為父進程,而這個進程則相應地被稱作子進程。
子程序使用 PPID 指出誰是其“父親”,很容易可以理解,PPID 指的就是其父進程的 PID。
注意,在以上的敘述中,多次用到了「創建」這個詞,這是出於表達和理解上的方便,事實上,在Linux 中進程是不能被「憑空」創建的,換句話說,Linux 沒有提供一種系統呼叫讓應用程式「創建」一個進程,應用程式只能透過克隆自己來產生新進程。
說明:
PID和PPID都是非零的整數。
PID是唯一的,一個PID只標識一個行程。
一個行程所建立的另一個新行程稱為子行程。相反地,創建子進程的進程稱為父進程。
對於一個普通的使用者進程,它的父進程就是執行它的哪個Shell,對於Linux而言,Shell就是bash。
Linux 查看進程的PID和PPID的方法
#範例:查看nginx程式的PID編號,ps -ef | grep nginx
執行後,即可傳回進程的PID和PPID編號
指令使用擴展,強制結束某行程
範例,強制結束nginx進程
#相關推薦:《Linux影片教學》
以上是linux ppid是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)
