Oto jedyne jak dotąd rozwiązanie dla MacOS:
top -pid `pgrep java | awk 'ORS=" -pid "' | sed 's/.\{6\}$//'`
chociaż będzie to niepożądane, invalid option or syntax: -pid
jeśli nie ma java
aktywnych procesów.
WYJAŚNIENIE
Inne zamieszczone tutaj rozwiązania używają formatu top -p id1,id2,id3
, ale MacOS top
obsługuje tylko nieporęczny format top -pid id1 -pid id2 -pid id3
.
Najpierw otrzymujemy listę identyfikatorów procesów, które mają nazwę procesu „java”:
pgrep java
i awk
przekazujemy to, co łączy wyniki z separatorem" -pid "
| awk 'ORS=" -pid "'
Niestety, to pozostawia końcowy separator! Na przykład, do tej pory mogliśmy uzyskać ciąg "123 -pid 456 -pid 789 -pid "
.
Następnie po prostu sed
usuwamy ostatnie 6 znaków separatora.
| sed 's/.\{6\}$//'`
Jesteśmy gotowi przekazać wyniki do top
:
top -pid `...`