tomcat通过进程id关闭(windows)

时间:2010-11-07 08:18:19

标签: java apache tomcat

我想通过其进程ID停止Tomcat进程。如何使用Java获取Tomcat进程ID?

3 个答案:

答案 0 :(得分:2)

我不确定这对Windows案例是否有帮助,但可以告诉您可以在Linux / UNIX上使用的catalina.sh脚本将进程的PID存储在文件中。您只需将CATALINA_PID环境变量设置为PID文件的路径名即可。完成此操作后,运行catalina.sh stop -force将尝试干净关闭,如果失败,将kill Tomcat进程。

答案 1 :(得分:1)

没有直接的方式来访问我所知道的PID,但是,有人写了一篇关于如何间接执行此操作的精彩博客。这是他的5个不同选项的链接。

http://blog.igorminar.com/2007/03/how-java-application-can-discover-its.html

最好的选择就是这个......

  

使用java管理和   监控API(java.lang.management):

ManagementFactory.getRuntimeMXBean().getName();
  

返回类似的内容:   28906 @ localhost其中28906是PID   JVM的进程,实际上是   我的应用程序的PID。

     

这个hack依赖于JVM而且我   仅使用Sun的JVM测试它。

     

从Javadocs获取getName()方法   RuntimeMXBean:返回名称   表示正在运行的Java虚拟   机。返回的名称字符串可以   是任意字符串和Java   虚拟机实现可以   选择嵌入特定于平台   返回的有用信息   名字串。每个运行虚拟   机器可能有不同的名称。

答案 2 :(得分:0)

您可以在java中执行TASKLIST.EXE并获取结果。我发现有趣的第二个选项是从java运行Service stop命令。

希望它有所帮助。