Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java tomcat通过进程id关闭(windows)_Java_Apache_Tomcat - Fatal编程技术网

Java tomcat通过进程id关闭(windows)

Java tomcat通过进程id关闭(windows),java,apache,tomcat,Java,Apache,Tomcat,我想通过进程ID停止Tomcat进程。如何使用Java获取Tomcat进程ID?您可以在Java中执行TASKLIST.EXE,并对结果进行修饰。我发现Intrest的第二个选项是从java运行Service stop命令 希望有帮助。据我所知,没有直接访问PID的方法,但是,有人写了一篇关于如何间接访问PID的很棒的博客。下面是他5个不同选择的链接 最好的选择是这个 使用java管理和 监控API(java.lang.management): 返回如下内容: 28906@localhost其

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

您可以在Java中执行TASKLIST.EXE,并对结果进行修饰。我发现Intrest的第二个选项是从java运行Service stop命令


希望有帮助。

据我所知,没有直接访问PID的方法,但是,有人写了一篇关于如何间接访问PID的很棒的博客。下面是他5个不同选择的链接

最好的选择是这个

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

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

这种攻击依赖于JVM,我 仅使用Sun的JVM对其进行了测试

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


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

ManagementFactory.getRuntimeMXBean().getName();