我有一个meteor.js应用程序,我已创建在笔记本电脑上在OSX上本地运行。流星经常因为无法解释的原因(例如计算机从睡眠状态返回后)停止运行。
如果流星正常工作,我想在cron上安排一个进程来检查每一分钟,如果没有,请启动它。我将以下内容放在我的crontab中:
* * * * * ps aux | grep meteor | grep -v grep || cd ~/path_to_my_meteor_project/; nohup meteor &
当我在终端中手动输入流星时,此命令可用于启动流星。但是当在cron中安排时,它似乎什么也没做。
答案 0 :(得分:1)
这可能是由于cron期望二进制文件(或要启动的脚本)这一事实造成的,而当在终端中输入时,您的命令由bash解释,bash可以理解||
等逻辑。
为了解决这个问题,您必须创建一个包含终端中代码行的bash脚本,然后让cron每分钟运行一次。