我想要Linux脚本杀死在控制台上运行的Java程序。
以下是以jarforms运行的进程。
[rapp@s1-dlap0 ~]$ ps -ef |grep java rapp 9473 1 0 15:03 pts/1 00:00:15 java -jar wskInterface-0.0.1-SNAPSHOT-jar-with-dependencies.jar rapp 10177 8995 0 16:00 pts/1 00:00:00 grep java [rapp@s1-dlap0 ~]$
你可以像这样简单地使用pkill -f
:
pkill -f 'java -jar'
编辑:杀死一个特定的Java进程运行您的特定jar使用这个基于正则表达式的pkill命令:
pkill -f 'java.*lnwskInterface'
如果你只是想杀死任何/所有的Java进程,那么你所需要的只是;
killall java
但是,如果您想要特别杀死wskInterface进程,那么您只需要删除进程ID;
PID=`ps -ef | grep wskInterface | awk '{ print $2 }'` kill -9 $PID
应该这样做,虽然可能有一个更简单的方法…
使用jps列出正在运行的java进程。 该命令与主类一起返回进程ID。 您可以使用kill命令来终止使用返回的id的进程或使用以下一个班轮脚本。
kill $(jps | grep <MainClass> | awk '{print $1}')
MainClass是运行java程序中的一个类,它包含main方法。