shell:监控进程运行状态并自动重启进程
#!/bin/sh MAXRSTCOUNT=;
PROCTOGO=/mnt/hgfs/code/test/show #count is the counter of test started times
count= sys_reboot()
{
echo "system is going to reboot";
reboot;
} main_loop()
{
while :
do
#########################################
ProStillRunning=$(ps -aux |grep "${PROCTOGO}" |grep -v "grep")
if [ -z "$ProStillRunning" ]; then
#start test
chmod +x ${PROCTOGO}
${PROCTOGO}
fi #the running times counter
let count=count+
echo "test running times is $count" #wait for test stoping...
sleep #########################################
done
} main_loop;
实例:
cat etc/init.d/monitor-app.sh
#!/bin/bash
sleep while [ ]
do
for procname in app
do
pgrep $procname > /dev/null
if [ -ne $? ]
then
/etc/init.d/autoapp start & ##autoapp可以是脚本,app等
fi
done
sleep
done
一个app启动脚本:
cat etc/init.d/automhclient
#! /bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin case "$1" in
start)
echo -n "Starting automhclient: "
export DISPLAY=:
cd /usr/share/qt5/app/mhclient
./automhclient &
echo
exit
;;
stop)
echo -n "Shutting down automhclient: "
killproc automhclient
echo
;;
restart)
echo -n "Restarting automhclient: "
$ stop
$ start
echo
;;
*)
echo "Usage: $0 start|stop" >&
exit
;;
esac
shell:监控进程运行状态并自动重启进程的更多相关文章
- 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 定义需监 ...
- 检测进程不存在自动重启shell脚本
#!/bin/bash WORKDIR="/usr/local/gse/gseagent" [[ -d $WORKDIR ]] && { if ! ps aux|g ...
- Linux执行脚本让进程挂掉后自动重启
1 创建循环监听脚本 autostart.sh 例: 其中futures-market-server-v3andwebsoket.jar 是要监听的执行程序 #/bin/bashwhile true ...
- Linux中进程杀掉总是自动重启
<1> cat /proc/进程id/status 找到该子进程对应的父进程,将其父进
- Linux 进程终止后自动重启
/opt/a.sh #! /bin/bash ps -ef | grep python3 a.py | grep -v grep | grep python3 if [ $? -ne 0 ] then ...
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题.在Linux系统中,强大的shell就可以很灵活的处理这样的事务. 下面的shell通过一个while-d ...
- 监控redis进程,如果没有自动重启
监控redis进程,如果没有自动重启 #Time:2016-01-22#Version:1.0 #Author:chh-huang #设置环境变量source /etc/profile#source ...
随机推荐
- 配置Raspbian 启用SPI I2C
sudo vi /etc/modprobe.d/raspi-blacklist.conf 找到这两行 blacklist spi-bcm2708 blacklist i2c-bcm2708 注释掉 # ...
- Linux ---> 监控JVM工具
Linux ---> 监控JVM工具shkingshking 发布时间: 2013/10/10 01:27 阅读: 2642 收藏: 26 点赞: 1 评论: 0 JDK内置工具使用 jps(J ...
- 阿里云ECS每天一件事D5:安装php5.4.34
原本是想把php和nginx合在一起来说的,不过考虑后,还是分开来做吧,已熟悉的更透彻一些. 1.准备类库 yum install autoconf automake libtool re2c fle ...
- 网络上USB后面跟AF或AM接口的意思
AM to micro 5pin或AF to micro 5pin 这里的AM或AF是Type a male和Type a female的简写 Type a male:A型男士 Type a fema ...
- CCNA实验(5) -- OSPF
enableconf tno ip do loenable pass ciscoline con 0logg syncexec-t 0 0line vty 0 4pass ciscologg sync ...
- Linux-NGINX 能否添加P3P头,如何添加。 - 德问:编程社交问答
Linux-NGINX 能否添加P3P头,如何添加. - 德问:编程社交问答 您的投票让 杜鑫 声誉值增加5分. 支持投票,不仅能让提问用户获得声誉值,让好的问题有更多的曝光,更能帮助社区筛选出好 ...
- Objective-C中math.h数学计算公式介绍
1. 三角函数 double sin (double); 正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 double a ...
- Java中public,private,final,static等概念的解读
作为刚入门Java的小白,对于public,private,final,static等概念总是搞不清楚,到底都代表着什么,这里做一个简单的梳理,和大家分享,若有错误请指正,谢谢~ 访问权限修饰符 pu ...
- NSFileManager的应用
单例,是在 一个文件中只创建一次就能够全部一起共享,多创建的地址是相同的 NSFileManager *manager=[NSFileManager defaultManager]; 是一个单例 ...
- mysql 时间差问题集锦
SELECT * from grouptoadd where taskid = '103244'; select datediff(max(spreadtime),min(createtime)) f ...