节点无法在启动脚本上运行

时间:2015-09-18 19:52:47

标签: javascript node.js bash

我有一个运行bash脚本的简单init.d脚本:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          registertool
# Required-Start:    $network $local_fs $syslog $remote_fs networking
# Required-Stop:     $network $local_fs $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts registration script
# Description:       Starts the registration script
### END INIT INFO
do_start() {
    cd $APP_DIR
    ./register.sh -v &
    echo $! > "$PID_FILE"
    log_action_msg "Registration started with pid $!"
}

case $1 in
  start)
    do_start
    ;;

  stop)
    log_end_msg 0
    ;;

  restart|force-reload)
    log_end_msg 0
    ;;
  *)
    echo $USAGE >&2
    exit 1
  ;;
esac

在脚本内部,我将节点定义为NODE=$(which node)并将应用程序作为$NODE myApp.js运行。我已将脚本中的路径定义为

PATH="$PATH:/usr/local/bin:/usr/sbin:/sbin:/usr/bin/:/bin"

然而,我的节点甚至没有被调用!我究竟做错了什么?我还需要等待启动什么?

1 个答案:

答案 0 :(得分:0)

NODE=$(which node)将搜索$PATH以查找可执行文件。如果您的路径尚未定义,则无法找到任何内容。尝试让您的脚本记录每一步,以便您可以看到它横向移动的位置。

./register.sh将取决于当前目录是否具体。在系统启动期间,甚至可能无法定义cwd

相关问题