【linux之setsid】
1、函數原型
2、說明:當進程是會話組長時setsid()調用失敗。setsid()調用成功后,進程成為新的會話組長和新的進程組長,並與原來的登錄會話和進程組脫離。由於會話過程對控制終端的獨占性,進程同時與控制終端脫離。
3、使用:
如果parent和child運行在同一個session里,而且parent是session頭。所以作為session頭的parent如果exit結束執行的話,那么會話session組中的所有進程將都被殺死。執行setsid()之后,parent將重新獲得一個新的會話session組id,child將仍持有原有的會話session組,這時parent退出之后,將不會影響到child了