用shell 脚本写守护进程
来源:互联网 发布:java外观模式 编辑:程序博客网 时间:2024/05/18 03:14
最近在做服务器,因为是全天候运行,服务器也不是说百分之百稳定,永远不崩溃永不宕机啥的,所以就算宕机了也不要紧,关键是能及时启动,不能影响玩家体验,所以
必须得有守护进程守护着,如果服务器一崩溃,立马重启,保证整个业务能继续运行
我的启动脚本 start.sh
#!/bin/shkillall -9 logserversleep 1killall -9 gameservermv logserver.log /mnt/share/log/logserver.log.bakmv gameserver.log /mnt/share/log/gameserver.log.bakulimit -c unlimitednohup ./logserver > logserver.log 2>&1 &sleep 5nohup ./gameserver > gameserver.log 2>&1 &sleep 5echo start success
守护进程脚本 keep.sh
########################################################################## File Name: keep.sh# Author: ma6174# mail: ma6174@163.com# Created Time: Fri 16 Jan 2015 07:49:46 PM CST##########################################################################!/bin/bashnum=1iNum=1echo $$while(( $num < 5 ))dosn=`ps -ef | grep ./gameserver | grep -v grep |awk '{print $2}'`echo $snif [ "${sn}" = "" ] #如果为空,表示进程未启动thenlet "iNum++"echo $iNumcp gameserver.log /mnt/share/log/gameserver_$iNum.log.bakrm gameserver.lognohup ./gameserver > gameserver.log 2>&1 & #后台启动进程echo start ok !elseecho runningfisleep 5done
整个流程是
1. ./start.sh
2. ./keep.sh > keep.log 2>&1 &
注意 在 keep.sh 里面 echo $$ 是输出当前进程号,因为shell 脚本启动之后,是很难去查其进程号,没有进程号,就很难杀死该shell脚本启动对应的
进程 ,从keep.log 找到该进程号,kill -s 9 pid 即可
./keep.sh > keep.log 2>&1 & 这个一定要这么写,因为大部分是通过终端连接ubuntu,直接./keep.sh 的话就没法在后端运行,如果终端关闭,那该脚本对应的进程也被自动杀死掉,守护进程就不存在了
0 0
- 用shell 脚本写守护进程
- 用shell 脚本写守护进程
- 用shell 脚本写守护进程
- 用shell写守护进程
- 用shell写守护进程
- shell脚本设置守护进程
- Linux守护进程Shell脚本
- Linux守护进程Shell脚本
- shell 脚本实现的守护进程
- shell 脚本实现的守护进程
- shell 脚本实现的守护进程
- shell 脚本实现的守护进程
- 使用shell脚本守护node进程
- Solaris下shell写的守护进程
- 用管道写守护进程
- linux利用shell实现守护进程的脚本
- Shell Programming(二)——编写守护进程脚本
- linux利用shell实现守护进程的脚本
- Sqoop1.4.4使用增量导入模式将MySQL数据库中数据导入到HDFS中
- 第四章 Android开发三大基石—Activity、Service和Handler(2)
- 给Python初学者的一些技巧
- IOS中定时器NSTimer的开启与关闭
- Python高效编程技巧
- 用shell 脚本写守护进程
- 如何成为Android高手
- Python十分钟入门
- 在Tomcat下JSP、Servlet和JavaBean环境的配置
- Android之SDCard操作
- 一张图片入门Python
- Ubuntu环境变量——添加与删除
- 4 款基于Django框架的开源软件推荐
- Android中的服务(service)详解(一)