停止在ssh中运行的java文件

时间:2013-09-12 11:13:42

标签: java shell ssh

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

运行它
java -jar file_name.jar

如果我要关闭此文件,那么ssh命令是什么?

2 个答案:

答案 0 :(得分: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'}`

你将实现你的既定目标。

干杯,

答案 1 :(得分:2)

如果你这样做:

ps aux

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

kill PID

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

kill -9 PID

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

*)运行许多java进程可能会遇到困难的原因是,在某些操作系统,Java版本等上,进程名称​​可能只是" java& #34;,这使得很难区分它们。

更新:或者您可以使用pgrep -lf file_name.jar来简化PID 见https://linux.die.net/man/1/pgrep