进程与会话
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