Linux 程序間關係 守護程序

2021-08-22 06:18:52 字數 794 閱讀 3785

ps axj | head -n 1
乙個或多個程序的集合

只要在某個程序組中⼀個程序存在,則該程序組就存在,這與其組⻓程序是否終⽌⽆關。

⼀個前台作業可以由多個程序組成

乙個後台也可以由多個程序組成

==作業與程序組的區別==

a.out &
sid

會話(session)是⼀個或多個程序組的集合。

建⽴與控制終端連線的會話⾸程序被稱為控制程序,比如shell

乙個會話中的⼏個程序組可被分為⼀個前台程序組以及⼀個或多個後台程序組

所以⼀個會話中,應該包括控制程序(會話⾸程序),⼀個前台程序組和任意後台程序組

注意:乙個會話不一定有終端

jobs      檢視作業

fg num 提到前台

bg num 放到後台

ctrl+z 提到後台

ctrl+c 殺掉的不是殺程序,⽽是殺掉整個作業

守護程序也稱精靈程序(daemon),是運⾏在後台的⼀種特殊程序。

它獨⽴於控制終端並且周期性地執⾏某種任務或等待處理某些發⽣的事件。

建立守護程序:pid_t setsid(void);

調⽤這個函式之前,當前程序不允許是程序組的leader,否則該函式返回-1

daemon函式

Linux 程序間關係和守護程序

程序組是乙個或多個程序的集合。通常與乙個作業相關聯,可以接收來自同一終端的各種訊號。我們知道,每個程序都有乙個程序id存放在task struct中,程序組也有程序組id,是唯一的。乙個執行緒組擁有主線程,主線程id就是執行緒組id,類似地,程序組也有乙個組長程序,組長程序的id就是程序組id。組長...

程序間關係與守護程序

程序組 乙個程序除了有乙個程序id之外,他還屬於乙個程序組。程序組是乙個或者多個程序的集合。通常他們與同乙個作業相關聯,可以接受來自同乙個終端的各種訊號。每個程序組有乙個唯一的程序組id。每個程序都有乙個組長程序,其程序組的id等於其自己的程序id。組長程序可以建立乙個程序組,建立各組中程序,然後終...

程序間關係及守護程序

程序組 乙個或者多個程序的集合。程序有自己的程序id,同時他還屬於乙個程序組。既然有程序組那麼肯定就有組長程序 組長程序的id等於該程序組id 這個組中只要還有乙個程序還在,程序組就在!與組長在不在沒關係。作業控制 乙個shell可以執行乙個前台作業和任意個後台作業。前台和後台都可以由多個程序 組成...