Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10420
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 52
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-19 16:43
文章分类

全部博文(3)

文章存档

2014年(3)

我的朋友

分类: LINUX

2014-02-20 11:30:23

#!/bin/sh
killall mon                        #杀死监控,monitor
ps aux | grep ./mon$ |grep -v grep |awk '{print $2}' | xargs kill -9  #获得进程id,kill,确保正确
killall serv                       #杀死服务 
sleep 60                        
cd /home/work/serv
nohup ./server &           #启动服务
while true
do
server=`ps aux | grep ./tac |grep -v grep |awk '{print $2}'`  #获取进程id
echo $server
if [ -z "$server" ]; then  #判断进程是启动 
 echo "server is null"
 sleep 10
 nohup ./server &       #再次启动
else
    echo "server = $server"  #输出成功提示,退出
    break
fi
done
#判断监控是否启动,若没有,手动启动,mon在crontab中设定,每2分钟启动,所以这步不是很必要
#监控启动时间频繁可能造成server正在启动时候报警,因此,根据自己需求设定crontab
mon=`ps aux | grep ./mon$ |grep -v grep |awk '{print $2}'`
if [ -z "$mon" ]
then
    cd /home/work/mon
    ./mon
else
    continue
fi

阅读(775) | 评论(0) | 转发(0) |
0

上一篇:shell操作小技巧,不断完善

下一篇:没有了

给主人留下些什么吧!~~