利用shell脚本重启node.js

时间:2021-04-09 19:24:42

利用shell脚本管理node.js启动相关动作

利用shell脚本管理node.js程序的启动,停止和重启动作

  • 启动node.js入口文件
  • 停止node.js入口文件
  • 重启node.js入口文件

快捷键

  • 脚本名 start
  • 脚本名 stop
  • 脚本名 reload

代码

使用shell管理node进程 例如start.sh:

#!/bin/bash
NODE=`which node`
PID_FILE="./koa.pid"
LOG_NAME="./koa.log"
PATH=`/bin/pwd`
INDEX="$PATH/index.js"
ACTION=$1
#echo $INDEX
start(){
if [ -f $PID_FILE ];then
echo " process is already staring! "
else
echo "node start ======"
$NODE $INDEX >> $LOG_NAME 2>&1 & #将调试信息写入文件,并以后台的方式运行
if [ $? -eq 0 ];then
echo $! > $PID_FILE #将当前进程写入pid文件
echo "node start successfully!"
else
echo "node start failed!"
fi
fi
}

stop(){
if [ ! -f $PID_FILE ];then
echo "node is not start yet!"
else
echo "node stop ======"
/bin/kill `/bin/cat $PID_FILE`
/bin/rm -rf $PID_FILE
if [ $? -eq 0 ];then
echo "node stopped successfully!"
else
echo "node stopped failed!"
fi
fi
}

case $ACTION in
start)
start
;;
stop)
stop
;;
reload)
stop
/bin/sleep 3
start
;;
*)
echo "$0 Usage: [start|stop|reload]"
;;
esac

目录

[TOC]来生成目录: