运行 solaris 启动脚本

Run script on solaris start

当我开火时 svcs -a 我得到了 legacy_run 11:47:21 lrc:/etc/rc3_d/S99hrms_init_sh 但是当重新启动区域时该脚本没有执行。 但它是 运行 正确使用 /etc/init.d/hrms_init.sh start。 我用ln -s /etc/init.d/hrms_init.sh /etc/rc3.d/S99hrms_init.sh 设置成rc3.d。 编辑:添加脚本文件。

脚本

#!/bin/sh

SERVER="/root/hrms/app.js"

do_stop()
{
    echo -n $"Stopping $SERVER: "
    pid=`ps -ef | grep "node $SERVER" | grep -v " grep " | awk '{print }'`
    kill -9 (ps -ef | grep "node $SERVER" | grep -v " grep " | awk '{print }') > /dev/null 2>&1
    RETVAL=$?
}

case "" in
    start)
            node /root/hrms/app.js
            RETVAL=$?
            ;;
    stop)
            do_stop
            ;;
    restart)
            do_stop
            do_start
            ;;
    *)
            echo "Usage: [=11=] {start|stop|restart}"
            RETVAL=1
esac

exit $RETVAL

清单 link 也尝试过。 但是该清单显示在线*但不显示 运行。

脚本在启动时执行,但如果 node 命令不在默认 PATH 中则失败。如果是这种情况,您需要在启动脚本中设置预期的 PATH。

顺便说一句,

echo -n $"Stopping $SERVER: "

是假的,应该是:

printf "Stopping $SERVER: "