守护程序未在启动时运行

内森

在Ubuntu(14.04)VM上,我有一个要在启动时运行的简单节点服务器。以下脚本与一样被调用时有效./noderoot start,但是在启动时未运行。该脚本是

#!/bin/sh
### BEGIN INIT INFO
# Provides: noderoot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: bootin and rootin
# Description: Start root server on boot
### END INIT INFO
export PATH=$PATH:/usr/bin
export NODE_PATH=$NODE_PATH:/home/azureuser/npm/bin

case "$1" in
  start)
    forever --sourceDir=/var/www/root -p /var/www/logs app.js
  ;;
  stop)
    forever stop --sourceDir=/var/www/root app.js
  ;;
  *)
    echo "Usage: /etc/init.d/noderoot {start|stop}"
    exit 1
  ;;
esac

exit 0

该脚本包含在/etc/init.d其中755以获取权限。我尝试运行update-rc.d以下结果:

root@linux-dev:~# update-rc.d noderoot defaults 80
 Adding system startup for /etc/init.d/noderoot ...
   /etc/rc0.d/K80noderoot -> ../init.d/noderoot
   /etc/rc1.d/K80noderoot -> ../init.d/noderoot
   /etc/rc6.d/K80noderoot -> ../init.d/noderoot
   /etc/rc2.d/S80noderoot -> ../init.d/noderoot
   /etc/rc3.d/S80noderoot -> ../init.d/noderoot
   /etc/rc4.d/S80noderoot -> ../init.d/noderoot
   /etc/rc5.d/S80noderoot -> ../init.d/noderoot
root@linux-dev:~# update-rc.d noderoot enable
update-rc.d: warning:  start runlevel arguments (none) do not match noderoot Default-Start values (2 3 4 5)
update-rc.d: warning:  stop runlevel arguments (none) do not match noderoot Default-Stop values (0 1 6)
 Enabling system startup links for /etc/init.d/noderoot ...
 Removing any system startup links for /etc/init.d/noderoot ...
   /etc/rc0.d/K80noderoot
   /etc/rc1.d/K80noderoot
   /etc/rc2.d/S80noderoot
   /etc/rc3.d/S80noderoot
   /etc/rc4.d/S80noderoot
   /etc/rc5.d/S80noderoot
   /etc/rc6.d/K80noderoot
 Adding system startup for /etc/init.d/noderoot ...
   /etc/rc0.d/K80noderoot -> ../init.d/noderoot
   /etc/rc1.d/K80noderoot -> ../init.d/noderoot
   /etc/rc6.d/K80noderoot -> ../init.d/noderoot
   /etc/rc2.d/S80noderoot -> ../init.d/noderoot
   /etc/rc3.d/S80noderoot -> ../init.d/noderoot
   /etc/rc4.d/S80noderoot -> ../init.d/noderoot
   /etc/rc5.d/S80noderoot -> ../init.d/noderoot

据我所知,这成功完成了。我可以通过运行启动服务sudo service noderoot start但是,计算机重新启动时,我的可执行文件未运行。有什么方法可以解决正在发生的事情吗?是否有任何特定的日志文件可以阐明如何解决此问题?

内森

查看日志/var/log/boot.log(由Letizia提供),我发现一条非常可疑的行:

/etc/rc2.d/S80noderoot: 16: /etc/rc2.d/S80noderoot: forever: not found

找不到该命令指出该路径存在问题。果然行

export PATH=$PATH:/usr/bin
export NODE_PATH=$NODE_PATH:/home/azureuser/npm/bin

被颠倒了。切换这些变量以指向正确的目录,以及cd在执行之前在脚本中添加aforever似乎已解决了运行脚本遇到的所有问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CKB Arch-守护程序在启动时运行

来自分类Dev

建立openvpn连接后,在Debian中启动时运行守护程序

来自分类Dev

NodeJS守护程序未在树莓派上启动时启动

来自分类Dev

在启动时运行GUI程序

来自分类Dev

禁用启动时运行的神秘程序

来自分类Dev

setxkbmap在rc.local中未在启动时运行

来自分类Dev

如何在启动时运行程序?

来自分类Dev

安装后在Windows启动时运行的应用程序

来自分类Dev

如何在启动时运行python程序(包含tkinter)

来自分类Dev

在Intel Galileo的后台启动时运行python程序

来自分类Dev

一些程序在启动时运行

来自分类Dev

启动时运行GUI应用程序

来自分类Dev

如何在启动时运行程序?

来自分类Dev

Mac-启动时运行Java程序

来自分类Dev

在启动时运行Metro应用程序?

来自分类Dev

使iOS应用程序在启动时运行

来自分类Dev

Domino Designer在程序启动时运行选定的框架集

来自分类Dev

如何在启动时运行程序?

来自分类Dev

安装后在Windows启动时运行的应用程序

来自分类Dev

快速应用程序使其在启动时运行

来自分类Dev

在启动时运行一个Ruby程序

来自分类Dev

建议在启动时运行程序的方法是什么?

来自分类Dev

在Windows上启动时运行Python程序

来自分类Dev

启动时运行多个Java应用程序

来自分类Dev

如何使用python在启动时运行程序

来自分类Dev

在启动时运行Windows程序而不安装它

来自分类Dev

在启动时运行Dropbox

来自分类Dev

在启动时运行Dropbox

来自分类Dev

在启动时运行命令