#Finds the tomcat process id
ps aux | grep tomcat | grep JavaVirtualMachines | awk -F " " '{print $2}' > tomcatProcessID
#Kills the process id returned from above mentioned command.
kill -9 `cat tomcatProcessID` && tput setaf 3 && echo "Tomcat killed Successfully" ;rm -rf tomcatProcessID
#Not a mandatory command.
#Used to show all the remaining processes with 'tomcat' keyword in it.
#To inform on the console that the tomcat (running ess or indexer) is killed.
ps aux | grep tomcat | grep -v grep | grep -v killtomcat
我已经在 Tomcat 上多次看到过这个问题。有几件事可能会有所帮助:
您的系统是否无法关闭?(即:挂起?)如果不是,那么它肯定会关闭该过程,只是不是您想要的方式。启动脚本是你写的,还是打包的?假设您已经使用 /etc/init.d 脚本完成了一些工作是否正确?你会想给我们更多的信息。
奇怪的是,您需要使用 chkconfig 注册该进程。仅将 Kscripts 放入 /etc/rc#.d/ 是不够的,因为如果 chkconfig 不知道它们,我不相信它们会被调用。
本质上,您的脚本需要在顶部说明
第一行说明了应该启动的运行级别,以及优先级启动和关闭级别。(它将在 /etc/rc3.d、/etc/rc4.d 和 /etc/rc5.d 中创建 S99 脚本,并在所有其余部分中创建 K10 脚本)
最重要的是,chkconfig 将检查 /var/lock/subsys/ 以查看是否有用于您的服务的锁定文件。因此,在启动时触摸该目录中与您的服务同名的文件,并在退出时将其删除。
假设您的脚本中有上述项目,则必须使用 chkconfig 进行注册。要添加脚本,请执行
chkconfig --add <name>
. 只需确保脚本在 /etc/init.d/ 中并具有正确的名称。您是否安装了配置文件?Tomcat 的性能分析存在一个已知问题,即安装后它无法正常关闭。shutdown.sh 脚本有一个变通方法,但我自己仍在寻找它。这是在Tomcat 7中,不知道它是否也在Tomcat 6中。
关闭 tomcat 的最佳方法是使用关闭脚本。但是许多人面临着它的问题并最终手动终止了该过程。
仅当在关机过程中将触及的脚本是以下任一情况时,关机脚本才能正常工作:
如果用户属于次要组,这将不起作用。
如果您必须选择终止进程,您可以使用下面提到的脚本将其作为单个命令(找到进程然后终止它)。只需放入一个脚本并在您想杀死正在运行的tomcat时运行它。
如果您愿意,可以
ps aux | grep tomcat | grep -v grep | grep -v killtomcat
在末尾添加以显示尝试杀死后剩余的 tomcat 进程。我希望它有所帮助。