我是Linux新手,我只使用它来使用Putty SSH连接到我的Web服务器.我遇到的问题是:
基本上我有2个PHP脚本.一个get_tweets.php经常在twitters Streaming API上收听推文,而另一个–parse_tweets.php将这些推送到数据库中.为了使这些工作,他们必须不断运行.
我一直在使用以下命令在后台运行它们,从我看到它们运行一天的大部分时间,但每当我在早上登录到我的计算机时脚本已经停止并且我要运行命令再次.
nohup php my_script.php> / dev / null&
我只是想知道基于我正在使用的命令是否正常,如果它们在使用nohup时无限期运行,如果不是,那么它是什么?一个CRON工作?
谢谢您的帮助
解决方法:
使用nohup,您还必须重定向错误.下一个命令运行脚本,输出和错误重定向到/ dev / null:
nohup php my_script.php >/dev/null 2>&1 &
但是你的脚本可以通过其他一些原因终止(脚本中的错误,oom-killer等).所以,你应该通过系统的init来守护它(如果它支持自动重启 – upstart,systemd,其他一些人可以这样做).或者您应该编写cron任务进行检查,如果没有运行则重新启动脚本.