Process
ps
中的“會話負責人”是什麼?
什麼是會話領導者,
ps -d
其中選擇除了會話領導者之外的所有程序?
在 Linux 中,每個程序都有多個與之關聯的 ID,包括:
- 程序 ID (PID)
這是標識程序的任意數字。每個程序都有一個唯一的 ID,但在程序退出並且父程序檢索到退出狀態後,程序 ID 被釋放以供新程序重用。
- 父程序 ID (PPID)
這只是啟動相關程序的程序的 PID。如果父程序在子程序之前退出,則子程序的 PPID 將更改為另一個程序(通常為 PID 1)。
- 程序組 ID (PGID)
這只是程序組負責人的 PID。如果 PID == PGID,那麼這個程序是程序組的領導者。
- 會話 ID (SID)
這只是會話領導者的 PID。如果 PID == SID,則此程序是會話領導者。
會話和程序組只是將許多相關程序視為一個單元的方法。一個程序組的所有成員總是屬於同一個會話,但一個會話可能有多個程序組。
通常,shell 將是會話領導者,並且由該 shell 執行的每個管道都將是一個程序組。這是為了在 shell 退出時更容易殺死 shell 的子代。(有關血腥細節,請參見出口(3)。)
我不認為會話或流程組的成員不是領導者有一個特殊的術語。