会话与进程组
http://www.cnblogs.com/forstudy/archive/2012/04/03/2427683.html 经典文章必看
-----创建会话的进程初始不能为进程组组长进程,否则setsid调用会失败,创建会话失败,因为创建会话的进程会成为新的会话进程首进程,会成为新进程组的组长进程,所以不能提前成为组长进程。
一个用户会话可以有1个或多个进程组。
一个用户会话可以有1个或多个作业(进程组)
1个进程组可以只有一个进程
前台进程会与控制争端关联,后台作业进程有读请求时,系统会给它法SIGTTIN信号,让后台进程在终端停止等待,转到前端进程后,才会与终端关联,用户才可以输入。
如下图:通过调用setsid,使得登陆shell成为会话控制进程,会话首进程。
通过fork创建的子进程不会是组长进程,继承附进程的进程组ID,通过调用setsid,创建新的会话,使子进程成为新的组长进程、会话控制进程。
d
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号