Кажется немного ненормальная для меня, чтобы ps
печатать много информации вы не хотите, то придется использовать сложное grep
выражение для извлечения что вы действительно хотите. Следующий подход кажется более подходящим:
ps -C java -o cmd=
Это даст вам список аргументов из команды, но вы можете сократить его до аргумента 0 с помощью sed
фильтра:
ps -C java -o cmd= | sed 's%\(/java\) .*$%\1%'
Если, как почти наверняка, в java
пути нет пробелов, можно использовать гораздо более простой фильтр:
ps -C java -o cmd= | sed 's/ .*$//'
(На самом деле их $
можно опустить, так как «жадное» совпадение будет включать в себя все символы до конца строки, хотя обычно его также стоит включить для удобочитаемости.)