读书人

进程与会话,该怎么解决

发布时间: 2012-02-25 10:01:48 作者: rapoo

进程与会话
1、为什么设置进程组时被设置进程不能是一个会话的leader?
2、为什么setsid时调用进程不能是进程组leader?
3、为什么setsid后要失去控制终端?
4、系统中的每个进程都属于一个会话吗?init属于哪个?内核线程呢?

[解决办法]
>1、为什么设置进程组时被设置进程不能是一个会话的leader?
因为一个session有很多process group.

>2、为什么setsid时调用进程不能是进程组leader?
这相当于开启了一个新的session,如果是leader,整个都会在一个挪到新的session当中。

>3、为什么setsid后要失去控制终端?
因为setsid是开启一个新的会话运行程序。一次会话一般是对应一个终端。

>4、系统中的每个进程都属于一个会话吗?init属于哪个?内核线程呢?
不属于。可以看下面的输出结果。

Python code
$ ps jx 1 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND    0     1     1     1 ?           -1 Ss       0   0:01 /sbin/init 

读书人网 >UNIXLINUX

热点推荐