我正在运行随Eclipse下载一起提供的Tomcat(不,我不想下载并安装整个Tomcat),有时它会在停止或重新启动时挂起,这是我能找到的唯一方法它的工作是重新启动我所有的Eclipse。我在Windows下使用它。
有没有办法杀死Tomcat进程(它没有出现在任务管理器中)?
答案 0 :(得分:46)
在任务管理器中显示为javaw.exe
。另一种方法是执行Tomcat/bin/shutdown.bat
。
至于挂起问题,你确定你的webapp没有产生可能阻止Tomcat关闭的非托管线程吗?
答案 1 :(得分:12)
在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.
答案 2 :(得分:10)
当在任务管理器中找不到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 可以正常运行。
答案 3 :(得分:1)
您可以在Eclipse中为Tomcat服务器设置启动和关闭超时。如果超过了这些超时时间,Eclipse将弹出一条消息,询问您是否要杀死它,或者一直等待。
要设置这些设置,请在“服务器”选项卡中双击服务器的名称。它将打开一个这样的窗口:
右侧有一个“超时”部分。我将启动设置为一天(这样我就可以调试启动而不会超时),并且可以将关闭时间慷慨地设置为30秒(通常这可能很短,因为大多数应用程序都可以在强制关闭的情况下幸免于难)。
答案 4 :(得分:0)
如果您使用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的命令相同的命令。