linux-script om java-proces te beëindigen

Ik wil dat het linux-script het java-programma op de console doodt.

Hierna volgt het proces dat als jar wordt uitgevoerd.

[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 ~]$

Antwoord 1, autoriteit 100%

Je kunt eenvoudig pkill -fals volgt gebruiken:

pkill -f 'java -jar'

BEWERKEN:om een ​​bepaald Java-proces dat uw specifieke jar uitvoert te beëindigen, gebruikt u dit op regex gebaseerde pkill-commando:

pkill -f 'java.*lnwskInterface'

Antwoord 2, autoriteit 40%

Als je alleen alle Java-processen wilt uitschakelen, heb je alleen nodig;

killall java

Als je echter met name het wskInterface-proces wilt uitschakelen, dan ben je daar het grootste deel van de weg, je hoeft alleen maar de proces-ID te verwijderen;

PID=`ps -ef | grep wskInterface | awk '{ print $2 }'`
kill -9 $PID

Zou het moeten doen, maar er is waarschijnlijk een gemakkelijkere manier…


Antwoord 3, autoriteit 2%

als er meerdere Java-processen zijn en u deze met één commando wilt uitschakelen
probeer het onderstaande commando

kill -9 $(ps -ef | pgrep -f "java")

vervang “java” door een willekeurige procestekenreeks-ID om iets anders te vernietigen.


Antwoord 4

pkill -f werkt om welke reden dan ook niet voor mij. Wat dat ook doet, het lijkt erg kieskeurig om echt te begrijpen wat ps aux me duidelijk laat zien dat het er is.

Na een middag vloeken besloot ik het volgende in mijn startscript te zetten:


(ps aux | grep -v -e 'grep ' | grep MainApp | tr -s " " | cut -d " " -f 2 | xargs kill -9 ) || true


Antwoord 5

Gebruik jpsom de actieve lijst weer te geven java-processen. De opdracht retourneert de proces-ID samen met de hoofdklasse. U kunt het kill-commando gebruiken om het proces te beëindigen met de geretourneerde id of het volgende one-liner-script gebruiken.

kill $(jps | grep <MainClass> | awk '{print $1}')

MainClass is een klasse in uw lopende Java-programma die de main-methode bevat.

Other episodes