使用rc.local运行脚本:脚本有效,但在启动时不起作用
我有一个node.js脚本,需要在启动时启动 并 在www-data用户下运行。在开发期间,我始终使用以下命令启动脚本:
su www-data -c 'node /var/www/php-jobs/manager.js
我确切地看到了发生了什么,manager.js现在运行良好。搜索所以我发现我不得不把它放在我的/etc/rc.local
。另外,我学会了将输出指向日志文件,并将追加2>&1
到“将stderr重定向到stdout”,它应该是守护程序,因此最后一个字符是&
。
最后,我的/etc/rc.local
样子是这样的:
#!/bin/sh -e#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
su www-data -c 'node /var/www/php-jobs/manager.js >> /var/log/php-jobs.log 2>&1 &'
exit 0
如果我自己运行此代码(sudo
/etc/rc.local):是的,它有效!但是,如果执行重新引导,则没有任何node
进程在运行,该进程/var/log/php-
jobs.log不存在,因此manager.js无法正常工作。怎么了?
回答:
我最终遇到了upstart,效果很好。
以上是 使用rc.local运行脚本:脚本有效,但在启动时不起作用 的全部内容, 来源链接: utcz.com/qa/428970.html