一 问题
自己开发的程序,如何用shell 脚本实现 启动,关闭,重启,查看状态?
二 方案
myshell.sh
#!/bin/sh
SERVICE="fm_tuoguan_shell"
PROCESS_STATUS="fm"
CMD="/developer/robot -s rpcs@: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 #绝对路径