setsid是linux常用的命令之一。
基本介紹
- 外文名:setsid
- 類型:專有名詞
- 性質:程式語言
- 所屬:linux常用的命令
setsid命令,說明,
setsid命令
linux常用的命令
setsid命令的一般格式:
setsid();
說明
當進程是會話的領頭進程時setsid()調用失敗並返回(-1)。setsid()調用成功後,返回新的會話的ID,調用setsid函式的進程成為新的會話的領頭進程,並與其父進程的會話組和進程組脫離。由於會話對控制終端的獨占性,進程同時與控制終端脫離。
pid_t pid = fork(); //fork a process
if (pid < 0) exit(0); //fork error
if (pid > 0) exit(0); //father process exit
setsid(); //create a new session for a process
//之前parent和child運行在同一個session里,parent是會話(session)的領頭進程,
//parent進程作為會話的領頭進程,如果exit結束執行的話,那么子進程會成為孤兒進程,並被init收養。
//執行setsid()之後,child將重新獲得一個新的會話(session)id。
//這時parent退出之後,將不會影響到child了。