1、创建一个shell脚本文件vimonitorprocess.sh:#!/bin/shps -fe|grep processString |grep -v grep足毂忍珩if [ $? -ne 0 ]thenecho "start process....."elseecho "runing....."fi#####processString 表示进程特征字符串,能够查询到唯一进程的特征字符串,例如java0表示存在的$? -ne 0 不存在,$? -eq 0 存在--------------------------------------给monitorprocess.sh可执行权限 chmod +xmonitorprocess.sh,有些需要加上sudo
2、用crontab命令定时执行:crontab -e0 04,12,21 * * * /bin/bash /home/mysh/monitorprocess.sh每天晚上4点,中午12点,晚上21点检测0 4,12 * * *分 时 日 月 周* 04,12 * * * 这个是指4点和12点中每分钟执行一次0 4,12 * * * 4点12点 第0分钟执行一次
3、扩展相关知识:shell的if else 语法以及大于,小于等逻辑表达式:if ....; then ....elif ....; then ....else ....fi大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等… 通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。