服务端开发经常会写些后台运行的脚本,需要重启和启动时候都比较麻烦。经常是nohup python xxx&,ps -ef|grep xxx然后kill。利用下面的shell脚本可以实现简单的启动停止方式 怎加开发效率。

仅需修改startcmd和filename即可:

例如保存为startup.sh

startcmd="php control.php"
filename="control.php"

op=$1
[ -z "$op" ] && op=start

start(){
    nohup $startcmd >> logs/$filename.log  2>&1 &
}
stop(){
    pid=`ps -ef|grep $filename|grep -v "grep" |head -n1|awk '{print $2}'`
    kill -9 $pid
    printf "pid %s is killed.\n" $pid
}


case $op in
start)
echo "Starting  Now......"
start
echo "Starting  Finished"
;;
stop)
echo "Stopping  Now......"
stop
echo "Stopping  Finished"
;;
restart)
echo "Restart  Now......"
stop
start
echo "Restart  Finished"
;;
*)
esac

启动 startup.sh start
停止 startup.sh stop
重启 startup.sh restart
05-15 05:24