一 问题
自己开发的程序,如何用shell 脚本实现 启动,关闭,重启,查看状态?
二 方案
#!/bin/sh SERVICE="fm_tuoguan_shell" PROCESS_STATUS="fm" CMD="/developer/robot -s rpcs@node.abc.com:9902/1234567 -p admin@cn888" start(){ echo "starting..." nohup $CMD > $SERVICE.log 2>&1 & if [ $? -ne 0 ] then echo "start failed, please check the log!" exit $? else echo $! > $SERVICE.pid echo "start success" fi } stop(){ echo "stopping..." kill -9 `cat $SERVICE.pid` if [ $? -ne 0 ] then echo "stop failed, may be $SERVICE isn't running" exit $? else rm -rf $SERVICE.pid echo "stop success" fi } restart(){ stop&&start } status(){ num=`ps -ef | grep $PROCESS_STATUS | grep -v grep | wc -l` if [ $num -eq 0 ] then echo "$SERVICE isn't running" else echo "$SERVICE is running" fi } case $1 in start) start ;; stop) stop ;; restart) restart ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|status}" ;; esac exit 0
设置可执行权限:
chmod +x myshell.sh
执行:
> sh myshell.sh start # 相对路径 starting... start success > sh /work/shelltask/myshell.sh start #绝对路径
当然也可用systemd实现:https://www.cnblogs.com/soymilk2019/p/14978460.html
原文:https://segmentfault.com/a/1190000022484370