我将 jar 文件作为大型 Web 应用程序的一部分运行。该应用程序的大部分内容是用 php 编写的,但有一个与之交互的大型 .jar 文件。要启动这个 jar 文件,我使用 ssh 连接到服务器,导航到目录并通过调用运行它:
java -jar file_name.jar
如果我想关闭这个文件,ssh 命令是什么?
在同意其他评论和答案的同时,我想指出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'}`
你会达到你的既定目的。
干杯,
如果你这样做:
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