shell脚本如果在一段时间后没有停止命令停止tomcat服务?

时间:2015-06-23 12:30:45

标签: linux bash shell tomcat

我想编写shell脚本来启动和停止tomcat服务器。为了停止tomcat我正在使用这个命令" ./ bin / shudown.sh"或" ./ bin / catalina.sh stop"。这在大多数情况下都不起作用,tomcat仍在运行。所以我想在给出shutdown命令之后杀死tomcat并等待一段时间(比如5分钟)。有人可以帮我怎么做吗?

2 个答案:

答案 0 :(得分:8)

./bin/catalina.sh应该支持这一点。如果您在没有任何选项的情况下运行该命令,它将打印出其用法,其中描述了:

stop n -force    Stop Catalina, wait up to n seconds and then use kill -KILL if still running

为了使其工作,您需要将环境变量CATALINA_PID设置为将用于保存Tomcat进程ID的文件名。要启动Tomcat,请使用:

export CATALINA_PID=/tmp/catalina.pid
./bin/catalina.sh start

然后停止它:

export CATALINA_PID=/tmp/catalina.pid
./bin/catalina.sh stop 600 -force

这将尝试阻止它,等待5分钟,然后在必要时将其杀死。请注意,这将默认在前台运行(锁定终端实例);使用尾随&在后​​台运行命令。

答案 1 :(得分:0)

您可以使用:pkill -9 tomcatServiceName或killall -9 tomcatServiceName。