linux常用的命令
setsid命令的一般格式:
setsid();
說明:當進程是會話組長時setsid()調用失敗。但第一點已經保證進程不是會話組長。setsid()調用成功後,進程成為新的會話組長和新的進程組長,並與原來的登錄會話和進程組脫離。由於會話過程對控制終端的獨占性,進程同時與控制終端脫離。
pid_t pid = fork();
if (pid == 0) {
...
int result = execl(path, "ADB", "fork-server", "server", NULL);
} else {
// run a program in a new session
setsid();//之前parent和child運行在同一個session里,而且parent是session頭,所以,
//所以作為session頭的parent如果exit結束執行的話,那么會話session組中的所有進程將都被殺死,
//所以執行setsid()之後,parent將重新獲得一個新的會話session組id,child將仍持有原有的會話session組,
//這時parent退出之後,將不會影響到child了[luther.gliethttp].
}
setsid()的返回值:
成功:調用進程的會話ID;
失敗:-1;
相關詞條
-
setsid
setsid命令 setsid(); setsid();//之前paren
-
會話周期
會話期。 接下來就可以具體介紹setsid的相關內容: (1)setsid函式作用: setsid函式用於創建一個新的會話,並擔任該會話組的組長。調用setsid有下面的3個作用: 讓進程擺脫原會話...
-
守護執行緒
它們的影響。方法是在第1點的基礎上,調用setsid()使進程成為會話組長:setsid();說明:當進程是會話組長時setsid()調用失敗。但第一點已經保證進程不是會話組長。setsid()調用成功後,進程成為新...
Linux守護進程的編程方法 一.守護進程及其特性 二.守護進程的編程要點 -
守護進程
setsid。setsid函式用於創建一個新的會話,並擔任該會話組的組長。調用setsid仃三個作用:讓進程擺脫原會話的控制、讓進程擺脫原進程組...,因此,那還不是真正意義上使兩者獨立開來。setsid函式能夠使進程完全...
簡介 創建步驟 運行方式 特點 分類 -
Linux守護進程
的是系統函式setsid。setsid函式用於創建一個新的會話,並擔任該會話組的組長。調用setsid仃三個作用:讓進程擺脫原會話的控制、讓進程...等並沒有改變,因此,那還不是真正意義上使兩者獨立開來。setsid函式能夠...
簡介 創建步驟 特點 -
daemon()
一個新的進程ID,但繼承了父進程的進程組ID。 2、調用setsid... */ /* child continues */ setsid...
-
系統調用
標識號setsid 設定會晤標識號檔案讀寫操作fcntl 檔案控制...
系統調用簡介 系統調用原理 系統調用接口 系統調用和普通調用的區別 -
精靈進程
linux Cunix環境高級編程精靈進程(d a e m o n)是生存期長的一種進程。它們常常在系統引導裝入時起動,在...
linux C -
進程組
或者轉移到另一個進程組中。 進程調用setpgid(setsid...
進程組