在linux下开机启动pm2 不成功

以下是我的pm2开机启动的服务脚本,
开机后,服务启动成功了,但是pm2却没有运行
是不是我的脚本写得有问题?

#!/bin/sh
# chkconfig: 2345 64 36
# description: node start scripts.
### BEGIN INIT INFO
# Provides: OSSEC HIDS
# Required-Start: $network $remote_fs $syslog $time
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OSSEC HIDS
### END INIT INFO

EXEC=/home/pi/workspace/Shanbay-Everyday
case "$1" in
    start)
    echo "Starting node..."
    pm2 start /home/pi/workspace/Shanbay-Everyday/app.js
    ;;
    stop)
    echo "Stoping node..."

    ;;
    *)
    echo "Please use start or stop as first agrument"
    ;;
esac

直接运行下面命令,是可以启动成功的

 pm2 start /home/pi/workspace/Shanbay-Everyday/app.js

直接启动服务,会出现下面这种情况

pi@raspberrypi:~ $ sudo service node start
Job for node.service failed. See 'systemctl status node.service' and 'journalctl -xn' for details.

代码启动成功后,会给我的邮箱发邮件,
机器重启的时候,成功的给我的邮箱发了一封邮件
但是 输入命令 pm2 l 的时候
却没有在列表里发现应用在跑
莫名其妙

阅读 5.8k
3 个回答

脚本中pm2命令写绝对路径,然后再试。

你的是centos 7吗?启动命令应该是

systemctl start node

貌似是环境变量的问题,用脚本启动的时候,需要用绝对路径。我也在想解决方案

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题