【发布时间】:2011-05-19 11:18:46
【问题描述】:
我正在运行随 Eclipse 下载一起提供的 Tomcat(不,我不想下载和安装整个 Tomcat),有时它会在停止或重新启动时挂起,这是我能找到的唯一方法它的工作是重新启动我所有的 Eclipse。我在 Windows 下使用它。
有没有办法杀死Tomcat进程(任务管理器中没有出现)?
【问题讨论】:
我正在运行随 Eclipse 下载一起提供的 Tomcat(不,我不想下载和安装整个 Tomcat),有时它会在停止或重新启动时挂起,这是我能找到的唯一方法它的工作是重新启动我所有的 Eclipse。我在 Windows 下使用它。
有没有办法杀死Tomcat进程(任务管理器中没有出现)?
【问题讨论】:
它在任务管理器中显示为javaw.exe。另一种方法是执行Tomcat/bin/shutdown.bat。
关于挂起问题,您确定您的 web 应用程序没有产生可能会阻止 Tomcat 关闭的非托管线程吗?
【讨论】:
在Windows上,如果你知道Tomcat监听的端口(下图为8080),你可以找到Tomcat进程的PID,然后从cmd杀掉它:
> netstat -aon | find "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 2196
TCP [::]:8080 [::]:0 LISTENING 2196
> taskkill /pid 2196 /f
SUCCESS: The process with PID 2196 has been terminated.
【讨论】:
当在任务管理器中找不到tomcat时,我会使用更好的方法来关闭它。
1) 从以下链接下载 TCPView(仅 285kb)。
http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx
2) 解压文件夹并启动TCPView应用程序。
3) 右击java.exe并选择结束进程选项。
这很容易让你的tomcat停止。这个工具在监控端口使用方面非常有用。
注意:运行 TOMCATPATH/bin/shutdown.bat 可能不会在 Tomcat 包含一些恶魔或非托管时关闭 线程。在这种情况下,TCPView 可以正常工作,没有任何问题。
【讨论】:
如果您使用 Linux,请尝试以下步骤。
ps aux | grep catalina)myname 2244 5.5 0.3 57020937 2110741 ? Sl Oct03 5160:01 /usr/lib/jvm/java-1.8.0-<...>/bin/java <...> org.apache.catalina.startup.Bootstrap start
/usr/lib/jvm/<...> 和<...>.Bootstrap 之间的所有内容
stop 并运行它基本上,您将使用 Eclipse 用来启动 Tomcat 并修改最后一个参数以停止 Tomcat 的相同命令。
【讨论】: