linux shell 脚本实现监听tomcat进程。
关键命令:
ps -ef |grep -w tomcat | grep -v grep | wc -l
- ps -ef //查看进程
- grep -w //筛选出tomcat进程
- grep -v grep //排除grep进程
- wc -l //返回查询结果的进程数
一、新建启动tomcat应用的.sh脚本
# touch /home/myinilocal.sh
#! /bin/sh
cd $TOMCAT_HOME/bin sh startup.sh
二、新建日志文件和监听脚本
# touch /home/logs/proclog.log
# touch /home/listen.sh
#! /bin/sh #host_dir=`echo ~` #echo $host_dir proc_name="tomcat" file_name="/home/logs/proclog.log" pid=0 proc_num() { num=`ps -ef |grep -w $proc_name | grep -v grep | wc -l` return $num } proc_id() { pid=`ps -ef |grep -w $proc_name | grep -v grep | awk '{print $2}'` } proc_num number=$? if [[ $number -eq 0 ]] then #echo '进程死了'echo 'WARNING 进程死了,开始重启====='`date`>> $file_name
cd /home
sh myinilocal.sh >> $file_name if [[ $? -eq 0 ]] then echo '['`date`' warning]重启成功=====' >> $file_name else echo '['`date`' erro]重启失败=====' >> $file_name fi else proc_id echo '['`date`' info]别慌,他还活着pid:'${pid} >>$file_name fi
三、配置crontab定时任务
# crontab -e
*/5 * * * * /home/listen.sh
我配置的是5分钟检查一次。
注意:该脚本只能监听到该tomcat进程是否依然在运行,不能够判断该进程是否健康。

浙公网安备 33010602011771号