孤兒程序組定義為:該組中每個成員的父程序要麼是該組的乙個成員,要麼不是該組所屬會話的成員。 如果某個程序終止,使得某個程序組成為孤兒程序組的話,系統會向孤兒程序組裡面每個處於停止狀態程序傳送乙個sighup訊號, 然後傳送sigcont訊號。
#include
#include
#include
#include
#include
#include
static void sig_hup(int signo)
static void pr_ids(const char* name)
int main()
exit(0);
}
else
}./ger
parent:pid=31037, ppid=12525, pgrp=31037,tpgrp=31037
child:pid=31038, ppid=31037, pgrp=31037,tpgrp=31037
sighup received, pid=31038//確實接收到了
child:pid=31038, ppid=1, pgrp=31037,tpgrp=31037
//但是sigcont被換到了前台程序了,所以tpgrp還是31037並且可讀
孤兒程序 孤兒程序組 守護程序
1.孤兒程序的定義 定義1 該程序組的每個成員的父程序要麼是該組的成員,要麼在其它會話中。定義2 乙個程序不是孤兒程序組的條件是 該組有乙個程序,其父程序在屬於同一會話的另乙個組中。只要能夠滿足上面其中的任乙個定義,則此程序組就是孤兒程序組。可能讀起來比較拗口,看圖 1 中的例子可能會清楚點。圖 1...
孤兒程序組
孤兒程序組 該程序組中每乙個程序的父程序都屬於另乙個session.怎樣建立孤兒程序組?fork 後,子程序繼承父程序的gid,然後父程序退出,那麼子程序變成了孤兒程序,其所在的程序組也變成了孤兒程序組。特性1 父程序終止後,程序組成為了孤兒程序組。那麼新的孤兒程序組中處於停止 stopped 狀態...
會話 前台程序組 後台程序組 孤兒程序等相關概念
終端登入 當系統自舉時,核心建立id為1 的程序,也就是 init 程序,init 程序系統進入多使用者狀態。init程序讀取 etc inittab 對每乙個允許登入的終端裝置,init 呼叫一次 fork 它所生成的子程序執行 exec getty 程式。getty為終端裝置呼叫 open 函式...