linux 建立守护进程步骤

linux 守护进程 建立步骤

1.fork

首先需要fork一个子进程并将父进程关闭。如果进程是作为一个shell命令在命令行上前台启动的,当父进程终止时,shell就认为该命令已经结束。这样子进程就自动称为了后台进程。而且,子进程从父进程那里继承了组标志符同时又拥有了自己的进程标识符。这样保证了子进程不会是一个进程组的首进程。这一点是下一步setsid所必须的。

2.setsid

setsid调用创建了一个新的进程组,调用进程成为了该进程组的首进程。这样,就使该进程脱离了原来的终端,成为了独立于终端外的进程。

3.忽略sighup信号,重新fork

这样使进程不在是进程组的首进程,可以防止在某些情况下进程意外的打开终端而重新与终端发生联系。

4.改变工作目录,清除文件掩码

改变工作目录主要是为了切断进程与原有文件系统的联系。并且,保证无论从什么情况下启动进程都能正常的工作。
清除文件掩码是为了消除进程自身掩码对其创建文件的影响。

5.关闭全部已打开的文件句柄

这时为了防止子进程继承了在父进程中打开的文件而使这些文件始终保持打开从而产生某些冲突。

6.打开log系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值