linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)

#!/bin/sh

while true

do

ps | grep "main_3g" | grep -v "grep" > /dev/null

if [ "$?" -ne 0 ]

then

ls /root/main_3g > /dev/null

if [ "$?" -eq 0 ]

then

chmod 777 /root/main_3g

/root/main_3g &

echo "main_3g restart"

else

echo "main_3g is not exist."

fi

fi

ps | grep "main_4g" | grep -v "grep" > /dev/null

if [ "$?" -ne 0 ]

then

ls /root/main_4g > /dev/null

if [ "$?" -eq 0 ]

then

chmod 777 /root/main_4g

/root/main_4g &

echo "main_4g restart"

else

echo "main_4g is not exist."

fi

fi

sleep 5

done

把上面的脚步运行命令加入到/etc/rc.d/rc.local里就行了,在后面添加

ls /root/mymonitor.sh > /dev/null

if [ "$?" -eq 0 ]

then

chmod 777 /root/mymonitor.sh

/root/mymonitor.sh &

echo "run /root/mymonitor.sh"

else

echo "/root/mymonitor.sh is not exist."

fi

linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)

时间: 2025-01-07 19:57:01

linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)的相关文章

Linux Shell常用技巧(八) 系统运行状况

Linux Shell常用技巧(八) 系统运行状况 十八.  和系统运行状况相关的Shell命令:    1.  Linux的实时监测命令(watch):     watch   是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行.该命令最为常用的两个选项是-d和-n,其中-n表示间隔多少秒 执行一次"command",-d表示高亮发生变化的位置.下面列举几个在watch中常用的实时监视命令:    /> watch -d -n 1 'who'  

ubuntu查看系统负载和程序运行状况

1,没有图形化界面 纯文字:top 美化的文字界面:htop 2,图形界面查看系统状态: gnome-system-monitor(或者在搜索界面中搜索system monitor) 3,jetson-stats包查看(适用于英伟达开发板) sudo jtop 能够查看系统内核,内存,gpu,温度等信息,非常全面 如何安装? Jetson-states是一个软件包,用以监控和控制Jetson开发板,也就是说,这个命令可能只是适合英伟达开发板,普通的ubuntu可能用不上哈. 安装命令莫名诡异:因

Linux、UNIX设置开机自动运行命令、脚本配置

转 http://blog.itpub.net/23135684/viewspace-668924/ unix 一般使用方法3,用于部署osw 方法一:编辑/etc/rc.d/rc.local加入要执行的命令.如:[[email protected] rc.d]# cat rc.local#!/bin/sh## This script. will be executed *after* all the other init scripts.# You can put your own initi

Python获取程序运行目录和脚本目录

import os import sys #获取脚本所在目录 print os.path.split( os.path.realpath( sys.argv[0] ) )[0] #获取脚本运行目录 print os.getcwd() 在脚本所在目录运行: python test.py /home/Hadoop /home/hadoop 在其他目录运行:python hadoop/test.py /home/hadoop /home

监控 SQL Server (2005/2008) 的运行状况--来自微软TetchNet

原文地址:http://technet.microsoft.com/zh-cn/library/bb838723.aspx Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况.诊断问题和优化性能. 常规服务器动态管理对象包括: dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连接 dm_os_*:内存.锁定和时间

苹果IOS,与windows Phone7,系统,内存,CPU处理,及后台程序运行,详解微软墓碑机制的系统

关于ios的多任务以及内存管理 看了很多人为自己的可用内存是350mb还是380mb纠结.为了多优化出一点可用内存费脑筋. ios的任务管理和内存管理,跟windows是有很大差别的.很多人习惯于用 windows的思维去看待ios. windows大家都知道,窗口开的越多,系统越慢,为什么呢?因为所有窗口都在运行,cpu占用率高:并且都占内存.可用内存不足还会迫使系统使用硬盘充当虚拟内存,硬盘频繁读写当然会多耗电,并且硬盘速度也比较慢. ios则不同.首先ios的后台任务,除了极少数可以后台运

Linux磁盘IO监控[zz]

磁盘 I/O 监控是 Unix/Linux 系统管理中一个非常重要的组成部分.它可以监控吞吐量.每秒 I/O 数.磁盘利用率.服务时间等信息,并且在发现异常时,发送告警信息给系统管理员,便于系统管理员进行调整数据布局等管理活动以达到优化系统总体性能的目的. 不同的操作系统监控磁盘 I/O 的命令可能略有不同.本文将介绍 Unix/Linux 操作系统磁盘 I/O 管理命令及相关信息,并讲述 Unix/Linux 操作系统上磁盘 I/O 管理监控的自动化脚本实现. Unix/Linux 磁盘 I/

使用VisualVM分析tomcat运行状况(1)

VisualVM是一款java程序性能分析与调优工具,而且还是jdk中自带的工具之一. tomcat也是一个java程序,自然也可以用它来进行监控.不过这里还是会有些问题,tomcat有两种常用的期待方式,一种是通过startup.bat来启动:另一种是通过配置服务来启动. 如果使用stratup.bat启动,那么打开visualvm后会自动找到该tomcat程序:而如果使用服务期待tomcat的话,打开visualvm是无法自动找到该程序的,你需要再加一些配置. 在tomcat的/bin目录下

程序运行时被用户删除了工作目录后崩溃

最近遇到这样的问题,Android下运行程序Program,在程序初始化时会创建自己的工作目录,存放一些缓存.日志和配置文件. 而如果用户在此程序运行期间删除了它的工作目录,此程序会在下次用到该目录时,发现目录已经不可访问,然后重新创建目录,但是创建会失败,导致后续的崩溃. 而创建失败的原因是errno 16 : EBUSY (Device or resource busy), 意思是说当前目录已经被占用,不可以创建同名的目录覆盖它. 我很郁闷,原来的目录不是已经访问不到了(access()或F