Kal*_*alu 23 daemon
为了创建一个服务(守护进程),我们 fork 父进程并使其退出,同时通过调用setsid(). 此外,我们为什么要使用 setsid()?我们的孤儿进程由init(尽管不是所有情况下)进程负责。
setsid()
init
为什么要使用stsid()?setsid()和处理SIGHUP信号之间是否有任何关系。
SIGHUP
ZN1*_*N13 18
我们使用 setsid() 是因为如果我们只杀死父进程,子进程也会被杀死,setsid()
如果调用进程不是进程组领导,则创建一个新会话。调用进程是新会话的leader,新进程组的进程组leader,没有控制终端。
父进程是第一个进程组领导者,杀死它 - 或杀死会话/终端 - 杀死该组,这就是我们切换领导者(并在我们使用它时创建一个新会话)的原因。
归档时间:
10 年,6 月 前
查看次数:
17636 次
最近记录: