linux下如何自动检测并重新启动一个死掉的进程(shell脚本实现)
2009-09-02 16:58
981 查看
. /etc/profile #如果要把这个shell脚本放到crontab中,这句不能少,用来初始化程序环境变量,这是root用户的环境变量文件
PNAME="程序名字
" #引号不能少,因为程序名字后面可能会有空格和参数
PATHNAME=程序所在文件夹绝对路径
LENGTH=`ps -ef|grep "$PNAME"|grep -v grep|cut -b 49-200|wc -c ` #引号不能少,同上
if test $LENGTH -eq 0
then
cd $PATHNAME
nohup $PNAME >/dev/null &
fi
杀死进程(可能有多个,暂不考虑)
PNAME="程序名字
" #引号不能少,因为程序名字后面可能会有空格和参数
PATHNAME=程序所在文件夹绝对路径
PID=`ps -ef|grep "$PNAME"|grep -v "grep"|awk '{print $2}'`
或者
PID=`ps -ef|grep "$PNAME"|grep -v "grep"|cut -b 10-15`#引号不能少,同上
LENGTH=echo $PID|wc -c
if test $length -ne 0
then
kill -9 $PID
fi
备注:
-eq 等于 -z 空串(if [ -z $filename2_size ] || [ -z $filename1_size ] || [ -z $filename0_size ]; then
echo 'no such files' )
-ne 不等于 = 两个字符相等
-gt 大于 != 两个字符不等
-lt 小于 -n 非空串
-le 小于等于
-ge 大于等于
命令1 && 命令2
&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;
换句话说,“如果这个命令执行成功&&那么执行这个命令”。
命令1 || 命令2
如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);
或者换句话说,“如果这个命令执行失败了|| 那么就执行这个命令”
PNAME="程序名字
" #引号不能少,因为程序名字后面可能会有空格和参数
PATHNAME=程序所在文件夹绝对路径
LENGTH=`ps -ef|grep "$PNAME"|grep -v grep|cut -b 49-200|wc -c ` #引号不能少,同上
if test $LENGTH -eq 0
then
cd $PATHNAME
nohup $PNAME >/dev/null &
fi
杀死进程(可能有多个,暂不考虑)
PNAME="程序名字
" #引号不能少,因为程序名字后面可能会有空格和参数
PATHNAME=程序所在文件夹绝对路径
PID=`ps -ef|grep "$PNAME"|grep -v "grep"|awk '{print $2}'`
或者
PID=`ps -ef|grep "$PNAME"|grep -v "grep"|cut -b 10-15`#引号不能少,同上
LENGTH=echo $PID|wc -c
if test $length -ne 0
then
kill -9 $PID
fi
备注:
-eq 等于 -z 空串(if [ -z $filename2_size ] || [ -z $filename1_size ] || [ -z $filename0_size ]; then
echo 'no such files' )
-ne 不等于 = 两个字符相等
-gt 大于 != 两个字符不等
-lt 小于 -n 非空串
-le 小于等于
-ge 大于等于
命令1 && 命令2
&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;
换句话说,“如果这个命令执行成功&&那么执行这个命令”。
命令1 || 命令2
如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);
或者换句话说,“如果这个命令执行失败了|| 那么就执行这个命令”
相关文章推荐
- linux下如何自动检测并重新启动一个死掉的进程,然后再把它杀死:)(shell脚本实现)
- linux下如何自动检测并重新启动一个死掉的进程,然后再把它杀死
- linux实现自动检测进程是否存活的脚本
- 朋友的一个问题:Linux开机如何自动运行自己编写好的shell脚本
- 如何在LINUX下实现硬件的自动检测
- Linux使用Shell脚本实现ftp的自动上传下载(转)
- linux使用shell脚本实现自动登录scp传输文件到其他服务器
- 如何在LINUX下实现硬件的自动检测(上)
- 如何在Linux下实现硬件的自动检测
- linux如何实现开机加载完图形界面后自动运行自己写的一个程序
- linux使用shell实现守护一个java进程。
- 如何实现shell并发 一个入门级可控多线程shell脚本方案
- 在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)
- Linux下使用Shell脚本实现ftp的自动上传下
- Shell实现判断进程是否存在并重新启动脚本
- Linux使用Shell脚本实现ftp的自动上传下载
- shell脚本实现linux下自动安装Oracle10g
- Shell脚本实现Linux系统和进程资源监控
- [转]Linux中shell脚本如何自动输入…
- 程序猿(媛)Shell脚本必备技能之一: 在Linux下如何自动备份mysql数据