Skip to content

Latest commit

 

History

History
55 lines (43 loc) · 880 Bytes

87.md

File metadata and controls

55 lines (43 loc) · 880 Bytes

题目要求

在生产环境中,经常遇到tomcat无法彻底关闭,也就是说用tomcat自带shutdown.sh脚本无法将java进程完全关掉。所以,需要借助shell脚本,将进程杀死,然后再启动。

写一个shell脚本,实现上述功能。彻底杀死一个进程的命令是 kill -9 pid。

参考答案

#!/bin/bash
#这个脚本用来彻底杀死Tomcat进程
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-14

dir=/usr/local/tomcat/bin/

java_pc()
{
    pgrep java|wc -l
}

	
cd $dir
./shutdown.sh

count=0

while [ $count -lt 5 ]
do
    n=`java_pc`
    if [ $n -gt 0 ]
    then
	killall java
	count=$[$count+1]
	sleep 1
    else
	break
    fi
done
    
n=`java_pc`
if [ $n -gt 0 ]
then 
    killall -9 java
fi

n=`java_pc`
if [ $n -gt 0 ]
then
    echo "Tomcat无法强制杀死。"
    exit
fi

cd $dir
./startup.sh