守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d就是Daemon的意思)【以上引用百度百科】。
linux下实现授权进程的方法有很多中,我在这里主要介绍的是在启动的时候使用一些命令让程序成为守护进程的方法。
测试程序(以PHP为例):
一、使用nohup命令实现
以上命令就实现了php成为守护进程,在当前会话结束的时候,程序并不会退出了。
退出终端,在次登录服务器,可以看到此进程的父进程id变成了1。
二、使用setsid命令实现
以上是setsid命令的介绍。
已经看到daemon.php脱离当前会话成为守护进程。
三、使用start-stop-daemon命令实现
启动守护进程:
start-stop-daemon --start --background \
--no-close \
--make-pidfile \
--pidfile "/var/run/php-ssd.pid" \
--exec "/usr/bin/php" \
-- \
"/root/daemon.php" \
>> "/var/log/lbbniu.log" 2>&1
感兴趣的同学可以去搜索相关资料进行深入了解。
四、使用&
五、使用disown 或者 screen
这两个命令的使用相对上面的四种方法来说,个人觉得相对复杂,在这里就一一演示,有兴趣的可以参考下面链接进行了解。
推荐参考:
http://blog.csdn.net/white__cat/article/details/36190217
http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html
http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
赞赏
人赞赏