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

Sur*_*tti 0 linux bash shell tomcat

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

bto*_*bto 8

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

stop n -force    Stop Catalina, wait up to n seconds and then use kill -KILL if still running
Run Code Online (Sandbox Code Playgroud)

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

export CATALINA_PID=/tmp/catalina.pid
./bin/catalina.sh start
Run Code Online (Sandbox Code Playgroud)

然后停止它:

export CATALINA_PID=/tmp/catalina.pid
./bin/catalina.sh stop 600 -force
Run Code Online (Sandbox Code Playgroud)

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