分类: LINUX
2006-01-16 23:02:00
################################################ #!/bin/bash #测试参数 第一个参数 是要检查的进程名 第二个参数 是这个脚本的运行时间 if [ $# -lt 2 ] ; then echo "Usage : `basename $0` cmd time" exit 1 else [ "x`echo $1|tr -d "[[:blank:]]"`" = "x" ] if [ $? -eq 0 ];then echo "\$1 is empty string" exit 2 fi echo $2|grep -oq "^[0-9]\{1,\}$" if [ ! $? -eq 0 ]; then echo "Time only can be a number" exit 3 fi fi # cron.status 保存结果 运行前 先清空 > cron.status # 变量赋值 endtm 保存退出的时间 cmd=$1 tm=$2 now=`date +"%H%M"` endtm=`date -d"-${tm} minute ago" +"%H%M"` # 循环察看进程列表中有没有我们指定的进程 当到达退出时间的时候退出 while true do now=`date +"%H%M"` if [ $now = $endtm ];then echo "done" exit 0 fi ps -e -u root | grep -v "grep" |grep "$cmd" if [ $? -eq 0 ] ;then echo $now >> temp sleep 30 fi done ####################################################### |