如何在Linux上运行无限的脚本?

我有一个无限循环的PHP脚本。 我需要这个脚本永远运行。 所以,我跑了

php /path/to/script.php > /dev/null & 

它在我当前用户的安全上下文中工作在后台。 但是,当我closuresterminal窗口(注销),当然,CentOS Linux杀死我的程序。

我看到两个猜测:从后台运行一个不同的用户或build立一个守护进程。 我需要在每种情况下的帮助。

非常感谢!

nohup是你的朋友。

 nohup command & 

我认为一般的解决办法是nohup

nohup是一个忽略HUP(挂断)信号的POSIX命令,使命令在发出该命令的用户注销后保持运行。 HUP(挂断)信号按照惯例是终端警告取决于注销过程的方式。

nohup最常用来作为守护进程在后台运行命令。 如果输出没有被重定向,通常会去往终端的输出会转到一个名为nohup.out的文件。 当需要运行多个相互依赖的批处理作业时,该命令非常有用。

nohup是你的朋友。

你可以:

  • 安装屏幕并从那里运行命令。 屏幕是一个持久的终端会话,你可以离开运行。
  • 写一个init / upstart(无论你使用什么脚本),以便在启动时加载
  • 使用pear lib system_daemon
  • 使用cron如果批处理工作更好地适应情况(只要记住检查正在运行的实例,然后启动另一个,如果并发是一个问题)
  • 编辑:或者像其他人和他们的兄弟刚才所说的那样, nohup

使用命令

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”是我的命令