Es scheint ein bisschen zu mir bescheuert zu bekommen ps
viele Informationen drucken Sie nicht wollen, dann einen Komplex verwenden, um grep
Ausdruck zu extrahieren, was Sie tun wollen. Folgendes scheint ein besserer Ansatz zu sein:
ps -C java -o cmd=
Dadurch erhalten Sie die Argumentliste aus dem Befehl. Sie können sie jedoch mit dem sed
Filter auf Argument 0 reduzieren:
ps -C java -o cmd= | sed 's%\(/java\) .*$%\1%'
Wenn, wie fast sicher, keine Leerzeichen im java
Pfad vorhanden sind, kann ein wesentlich einfacherer Filter verwendet werden:
ps -C java -o cmd= | sed 's/ .*$//'
(Tatsächlich $
kann das weggelassen werden, da die "gierige" Übereinstimmung alle Zeichen bis zum Zeilenende einschließt, obwohl es in der Regel auch aus Gründen der Lesbarkeit enthalten ist.)