2

我将 jar 文件作为大型 Web 应用程序的一部分运行。该应用程序的大部分内容是用 php 编写的,但有一个与之交互的大型 .jar 文件。要启动这个 jar 文件,我使用 ssh 连接到服务器,导航到目录并通过调用运行它:

java -jar file_name.jar

如果我想关闭这个文件,ssh 命令是什么?

4

2 回答 2

3

在同意其他评论和答案的同时,我想指出jps与 JDK 打包在一起的经常被遗忘的工具

anders@localhost:~$ jps -v
15688 Jps -Dapplication.home=/usr/lib/jvm/java-7-oracle -Xms8m

它列出了主机上所有正在运行的 Java 进程(sudo如果该进程不是由您的登录用户启动的,则可能需要)。

因此,使用一些命令行魔法,例如

kill -9 `jps -v | grep file_name.jar | awk {'print $1'}`

你会达到你的既定目的。

干杯,

于 2013-09-12T11:50:10.063 回答
2

如果你这样做:

ps aux

或类似的东西(请参阅man ps许多不同的可能命令),您应该能够找到 java 进程的 PID(如果有许多 java 进程正在运行,可能会很困难*)。然后做:

kill PID

如果这不起作用,请尝试:

kill -9 PID

但这不会让进程有机会干净地关闭。

*) 在运行许多 java 进程时这可能很困难的原因是,在某些操作系统、Java 版本等上,进程名称可能只是“java”,这使得很难区分它们。

更新:或者您可以使用它pgrep -lf file_name.jar来更轻松地获取 PID。
https://linux.die.net/man/1/pgrep

于 2013-09-12T11:17:05.770 回答