如何通过java实现重启tomcat服务器?大家或许第一时间想到的是通过执行linux命令直接重启tomcat就可以了。但是对于在tomcat上面运行的web项目,当tomcat进程死掉的时候重启进程也会对应挂掉,那么该如何达到我们的目标?博主给大家两个shell脚本以供参考。脚本名都为restart.sh
脚本一:
#!/bin/sh
pid=`ps -ef|grep 'java.*tomcat'|grep -v "grep"|awk '{print $2}'`
path=`dirname $0`
kill -9 $pid
sleep 10
echo `nohup $path/catalina.sh start &` >log.txt
这个脚本是直接查找当前运行的tomcat进程,然后杀死。再通过nohup进行调用tomcat启动命令。当然,在调用restart.sh的时候也使用nohup
脚本二:
#!/bin/sh
path=`dirname $0`
$path/shutdown.sh
sleep 10
echo `nohup $path/startup.sh start &` >log.txt
这里是调用tomcat自带的shutdown脚本,用比较和谐的办法杀掉tomcat进程。
大家可以中和两个脚本的实现效果编写更完善的shell脚本,这里博主只给一个示例。