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: -pidjeśli nie ma javaaktywnych procesów.
WYJAŚNIENIE
Inne zamieszczone tutaj rozwiązania używają formatu top -p id1,id2,id3, ale MacOS topobsł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 awkprzekazujemy 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 sedusuwamy ostatnie 6 znaków separatora.
| sed 's/.\{6\}$//'`
Jesteśmy gotowi przekazać wyniki do top:
top -pid `...`