Wie kann ich einen Prozess basierend auf seinen Befehlszeilenargumenten beenden?
killall
, pgrep
und pkill
scheinen nur auf der Grundlage des Prozessnamens zu funktionieren.
Ich brauche dies, um in der Lage zu sein, zwischen einer Reihe von Anwendungen zu unterscheiden, die in virtuellen Java-Maschinen ausgeführt werden. Dabei java
ist der Prozessname für alle und der tatsächliche Anwendungsname kann anhand der Befehlszeilenargumente ermittelt werden.
Dies kann manuell durchgeführt ps aux | grep myapp.jar
werden, indem die pid manuell aus der Ausgabe entfernt wird, aber ich möchte, dass ein Befehl automatisch etwas Äquivalentes ausführt.
bash: syntax error near unexpected token ';'
... funktioniert in einer case- Anweisung, wenn auf das kaufmännische Und ein;;
... folgt Sie verwenden eine andere Shell (?)