我有一个带有无限循环的PHP脚本。我需要这个脚本永远运行。所以,我跑
php /path/to/script.php > /dev/null &
它在我当前用户的安全上下文中在后台运行。但当我关闭终端窗口(注销)时,当然,CentOS Linux会杀死我的程序。
我看到两个猜测:在后台运行不同的用户或制作一个守护进程。我在每种情况下都需要帮助。
非常感谢!
答案 0 :(得分:24)
nohup是你的朋友。
nohup command &
答案 1 :(得分:6)
我认为对此的一般解决方案是nohup
:
nohup是一个POSIX命令,用于忽略HUP(挂断)信号,使命令在发出命令的用户注销后继续运行。按照惯例,HUP(挂断)信号是终端根据注销过程发出警告的方式。
nohup最常用于在后台运行命令作为守护进程。通常发送到终端的输出将转到名为nohup.out的文件(如果尚未重定向)。当需要运行多个相互依赖的批处理作业时,此命令非常有用。
答案 2 :(得分:1)
nohup是你的朋友。
答案 3 :(得分:1)
你可以:
system_daemon
nohup
答案 4 :(得分:0)
使用命令
nohup your_command &
例如
nohup phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003&
这里" phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003"是我的命令