在linux下每次重启tomcat都要先shutdown.sh再startup.sh,而且有时候shutdown的时候关闭不了,需要杀掉对应线程,感觉很麻烦。于是写了个shell脚本,把关闭和启动的脚本结合在了一起。
脚本功能:
1 删除tomcat下的work目录
2 使用shutdown.sh关闭服务
3 查询当前tomcat的进程是否存在,如果存在则强制kill掉进程
4 启动tomcat
#!/bin/sh
p='/mnt/programs/apache-tomcat-6.0.37'
work=${p}'/work/'
`rm -rf ${work}`
tomcatpath=${p}'/bin'
echo 'operate restart tomcat: '$tomcatpath
pid=`ps aux | grep $tomcatpath | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo 'exist pid:'$pid
if [ -n "$pid" ]
then
{
echo ===========shutdown================
$tomcatpath'/shutdown.sh'
sleep 2
pid=`ps aux | grep $tomcatpath | grep -v grep | grep -v retomcat | awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 2
echo ========kill tomcat begin==============
echo $pid
kill -9 $pid
echo ========kill tomcat end==============
}
fi
sleep 2
echo ===========startup.sh==============
$tomcatpath'/startup.sh'
}
else
echo ===========startup.sh==============
$tomcatpath'/startup.sh'
fi
注意:
对于不同的tomcat路径,要修改脚本开始的p变量中的内容。