script linux pour tuer les processus java
Je veux script linux pour tuer programme java en cours d'exécution sur console.
Suivant est le processus en cours d'exécution que le pot.
[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 ~]$
- ne
pkill java
comte?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser
pkill -f
comme ceci:EDIT: Pour tuer un particulier java processus de l'exécution de votre pot d'utiliser cette expression en fonction commande pkill:
pgrep -if 'java .*-jar'
kill $(pgrep -f 'java .*-jar')
ps -ef | pgrep -f 'java .*-jar'
mais j'aime 'anubhava ans de il est simple.pkill -f 'java.*lnwskInterface'
devrait fonctionner.pkill -f "java.*$app"
sleep 60; kill -9 $pid
Si vous voulez juste pour tuer tous les processus java, puis tous vous avez besoin est;
Si, toutefois, vous voulez tuer le wskInterface processus en particulier, alors vous êtes la plupart du chemin, vous avez juste besoin de supprimer l'id de processus;
Devrait le faire, il y a probablement un moyen plus facile si...
grep
s acheminée dansawk
s!!! Nous appelons cela Inutile l'Utilisation De Grep? De toute façon, c'est beaucoup mieux d'utiliserpkill
avec le-f
option anubhava mentionné (si vous avezpkill
installé bien sûr, et si elle a l'-f
option).ps -ef | grep wskInterface | awk '{ print $2 }'
kill -9 $PID" et trouvé -bash: tuer: (10395) - Pas de tels processus. il a effectivement tué le processus, mais aussi donner à l'erreurps
processus lui-même...:-(
. N'utilisez pas cette méthode, l'utilisation anubhava à la place.ps -ef | grep wskInterface | grep -v grep | awk '{ print $2 }'
ignore votre propre commande grep.Utilisation jps à la liste de course les processus java. La commande retourne l'id de processus avec la classe principale. Vous pouvez utiliser la commande kill pour tuer le processus avec le retour de l'id ou utiliser suivant une ligne de script.
MainClass est une classe dans votre course programme java qui contient la méthode main.
$(jps -l | grep <fully.qualified.ClassName> | awk '{print $1}')
pkill -f pour quelque raison que ce soit ne fonctionne pas pour moi. Tout ce qui n', il semble très pointilleux sur le fait d'grepping par le biais de ce ps aux me montre clairement est là.
Après un après-midi de prestation de serment, je suis allé pour mettre la suite dans mon script de lancement:
(ps aux | grep -v -e 'grep ' | grep MainApp | tr -s " " | cut -d " " -f 2 | xargs kill -9 ) || true