linux 进程监控和自动重启的简单实现(转)
目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能。
实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志。
1、crontab修改
- chen@IED_40_125_sles10sp1:~/CandyAT/Bin> crontab -e
- */1 * * * * /home/chen/CandyAT/Bin/monitor.sh
上面的意思是每分钟调用一下脚本monitor.sh
2、monitor.sh的实现
- #! /bin/sh
- host_dir=`echo ~` # 当前用户根目录
- proc_name="CandyGameServer" # 进程名
- file_name="/Candy/log/cron.log" # 日志文件
- pid=0
- proc_num() # 计算进程数
- {
- num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
- return $num
- }
- proc_id() # 进程号
- {
- pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
- }
- proc_num
- number=$?
- if [ $number -eq 0 ] # 判断进程是否存在
- then
- cd $host_dir/CandyAT/Bin/; ./candy.sh -DZone # 重启进程的命令,请相应修改
- proc_id # 获取新进程号
- echo ${pid}, `date` >> $host_dir$file_name # 将新进程号和重启时间记录
- fi
版权声明:本文为博主原创文章,未经博主允许不得转载。
- 原创:http://blog.csdn.net/liumangxiong/article/details/7084637
linux 进程监控和自动重启的简单实现(转)的更多相关文章
- linux 进程监控和自动重启的简单实现
目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...
- Linux 进程终止后自动重启
/opt/a.sh #! /bin/bash ps -ef | grep python3 a.py | grep -v grep | grep python3 if [ $? -ne 0 ] then ...
- linux 进程监控
linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程 ...
- tomcat监控,自动重启shell脚本
tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中 ...
- C#通过代码彻底结束桌面进程explorer,解决自动重启问题
C# 通过代码 Process.Kill 方法杀死桌面进程后,会自动重启 其实可以通过 Taskkill 指令结束桌面进程, 在命令行查看 taskkill 帮助, TASKKILL [/S syst ...
- centos 监控进程,并自动重启
编辑Crontab crontab -e 按i进行编辑 */ * * * * /root/monitor.sh # 每分钟运行一遍monitor.sh脚本 * * * /sbin/reboot # 每 ...
- window下进程退出后自动重启
设计思想:编写批处理脚本监控进程的运行状态,如果发现进程停止,则自动重启该进程.批处理脚本(jk.bat)和进程脚本(hello.bat)如下: 1.jk.bat @echo off rem 定义需监 ...
- linux进程监控和简单的重启&服务的创建 参考自http://blog.csdn.net/lockheed_hong/article/details/73549837
脚本文件 该脚本实现了一个检测进程是否存在,不存在的情况下重启进程并且记录日志. #! /bin/sh proc_name="console/queue/gift.php" # 进 ...
- Linux执行脚本让进程挂掉后自动重启
1 创建循环监听脚本 autostart.sh 例: 其中futures-market-server-v3andwebsoket.jar 是要监听的执行程序 #/bin/bashwhile true ...
随机推荐
- Django 1.8 - “No migrations to apply” when run migrate after makemigrations 解决办法
解决办法 1 删除应用migrations目录 2 删除MySQL中django_migrations中对应的行(delete from django_migrations where app='ap ...
- [PCB设计] 3、用CAM350修改GERBER文件(删除某些部分)
1.问题产生 由于在电子元件封装时阻焊开窗未处理好,生成的GERBER文件在生产钢网时容易出现错误.比如:测试点上不需要上锡,如果封装元件时采用焊盘修改而来,结果往往使paste层在该测试点上有覆盖, ...
- 3、Spring的AOP详解和案例
AOP(Aspect Oriented Programming),即面向切面编程. 1.OOP回顾 在介绍AOP之前先来回顾一下大家都比较熟悉的OOP(Object Oriented Programm ...
- Docker 制作mysql镜像
# 拉取Ubuntu镜像 docker pull docker.io/ubuntu: # 运行一个容器 docker run --name mysql -p 33:3306 -v /mysql:/va ...
- 线程的实现方法以及区别 extends Thread、implements Runable
/** 线程存在于进程当中,进程由系统创建. 创建新的执行线程有两种方法 注意: 线程复写run方法,然后用start()方法调用,其实就是调用的run()方法,只是如果直接启动run()方法, ...
- C++ socket programming in Linux
Server.c #include <arpa/inet.h> #include <errno.h> #include <netinet/in.h> #includ ...
- 在CentOS linux上通过yum安装JDK<转>
卸载centos自带的jdk 1.查看当前的jdk版本,并卸载 [root@localhost opt]# rpm -qa|grep java java-1.6.0-openjdk-1.6.0.3 ...
- sftp配置多用户权限
sftp配置多用户权限 工作需要,用户上传文件到目录下,用ftp不太安全,选择sftp.让用户在自己的home目录下活动,不能ssh到机器进行操作. 下面开始干活. 查看ssh版本 ssh - ...
- mysql表备份及还原
备份 导出数据库所有表结构 ? 1 mysqldump -uroot -ppassword -d dbname > db.sql 导出数据库某个表结构 ? 1 mysqldump -uroot ...
- apicloud教程
http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=15939