当前位置: 首页 > 面试题库 >

使用rc.local运行脚本:脚本有效,但在启动时不起作用

艾子石
2023-03-14
问题内容

我有一个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,效果很好。



 类似资料:
  • 问题内容: 首先,这可能需要移至超级用户。我无法确定哪个场地更好。 我正在尝试编写一个将在启动/重新启动时运行的R脚本,并将该计算机添加到doRedis工作者池中。(doRedis是一个foreach后端)。 这是我的R脚本“〜/ Rworker.R” 我可以使用command从命令行运行此脚本 。 接下来,我编写了一个shell脚本来运行R脚本,标题为“ /etc/init.d/StartWor

  • 我想在ubuntu 14.04LTS的引导上运行一个python脚本。 我的rc.local文件如下: sudo /首页/hduser/morey/动物园管理员-3.3.6/bin/zkServer.sh启动 回声“测试” sudo/home/HD user/Morey/Kafka/bin/Kafka-server-start . sh/home/HD user/Morey/Kafka/confi

  • 我想在我的Parallela板启动时运行一个bash脚本,它有Ubuntu。我搜索了SO,在这里找到了说明: 在linux ubuntu下启动时自动运行程序 在Linux上启动时以编程方式运行 我的bash脚本是test。sh,只有一行: 1) 我尝试的第一种方法是添加到脚本的aboslute路径: 2) 我尝试的第二种方法是遵循上面公认的答案。 在这两种情况下,脚本都是在引导后执行的,并且有一个

  • 我试图在启动时运行我python脚本,但它不起作用。 下面是我的python脚本(不起作用): 这是我的python脚本(works): 下面是我的rc.local文件(也可以尝试crontab并在/ect/init.d中设置服务): 看起来通过导入paho.mqtt.发布可以让我的脚本停止工作,我是Linux的新手,我不知道为什么。有人可以帮助我吗?感谢您的帮助。 Ubuntu 16.04 如果

  • 问题内容: 我的用例是我想初始化文件中的某些函数,然后使用定义的那些函数启动ipython。有什么办法可以做 问题答案: 根据文档,这很简单: 使用以下命令启动IPython: 如果不带选项调用,它将执行顺序列出的所有文件,并将您放入解释器,同时仍然确认您可能在文件中设置的任何选项 。此行为与标准Python不同,标准Python在被称为as时只会执行一个文件,而忽略您的配置设置。 所以,只需使用

  • 问题内容: 在Amazon S3 Linux实例上,我有两个名为的脚本,它们 永远 启动和停止(依次运行Node.js应用程序)。我使用这些脚本手动启动和停止我的Node.js应用程序。到目前为止,一切都很好。 我的问题:我还想将其设置为在系统启动时运行。我知道我需要在其中添加文件,并且知道如何将其符号链接到其中的适当目录,但是我无法弄清楚放置在其中的文件中实际需要什么。我认为这应该只是一条线,例