使用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

回到顶部