Czy istnieją jakieś stosunkowo ścisłe opcje z topem do śledzenia określonego procesu?
Idealnie, identyfikując proces według wartości czytelnej dla człowieka? np . chrome
lub java
.
Innymi słowy, chcę wyświetlić wszystkie typowe informacje, które zapewnia góra, ale aby wyniki zostały przefiltrowane do podanych parametrów, tj. „chrome” lub „java”
top | grep chrome
?ps -x | chrome
aby uzyskać pid (niech pokazany zostanie pid2034
), a następnietop | grep 2034
top | grep chrome
działało idealnie - dzięki!ps -x | process_name
uzyskiwałem PID, kiedy ponownie uruchomiłem proces, PID był inny, a zatem oryginalny PID nie mógł tego zidentyfikować.Odpowiedzi:
Możesz po prostu użyć
grep
:Uruchom następujące polecenie, aby uzyskać żądane dane wyjściowe (ex-chrome):
Tutaj używamy
grep
z rurociągami,|
więctop
igrep
działaj równolegle;top
dane wyjściowe podanegrep
jako (jako dane wejściowe) igrep chrome
filtrują pasujące liniechrome
dotop
zatrzymania.źródło
top
tylko i OP chce filtrować proces na podstawietop
.sleep 10 & top | grep sleep
Z mojej innej odpowiedzi tutaj możesz zrobić coś takiego,
źródło
top -p `pgrep "java"`
daje mi następujący błąd w powłoce bashtop: -p requires argument
. top -ppgrep -d ',' "apache2"
działał dla mnie, ale tak naprawdę nie rozumiałem, co robi polecenie - czy to sposób na podawanie wielu argumentów na górę?pid
listę przecinków oddzielonych do pracy.Wyjaśnienie:
top -p pid1,pid2
: pokaż wiele informacji o procesie, pid powinien być oddzielony,
pgrep -d "," java
: wydrukuj pids wszystkich programów Java, pids są domyślnie oddzielone znakiem nowej linii. użyj,-d ","
aby oddzielić go według,
wymagań góry.Jeśli widzisz błąd podobny
top: -p argument missing
, oznacza to, że nie działa żaden program Java, tzn. Pgrep nie ma danych wyjściowych.źródło
top -p
pgrep „java”. Dziękuję Ci.pgrep
kod wyjścia:pids="$(pgrep -d, java)" && top -p "$pids"
W OpenBSD
top
wystarczy nacisnąć gi wprowadzić nazwę polecenia, które chcesz filtrować.W
top
np. Ubuntu naciśnij oi wprowadź np.,COMMAND=chrome
Aby wyświetlić tylko wpisy zCOMMAND
kolumny, które są równechrome
.W systemach Linux, które używają tej samej
top
implementacji co Ubuntu, przeczytaj FILTROWANIE w sekcji Okno wtop
instrukcji.źródło
Podano inne dobre odpowiedzi, ale jakiś czas temu napisałem skrypt, który nazwałam ptop, który dobrze mi służy:
Obsługuje wiele nazw procesów, które należy określić (jak
ptop bash chrome
) i zapewnia ładniejszy komunikat o błędzie w przypadku, gdy nie ma / nie ma procesów z żadną z podanych nazw.źródło
Jeśli chcesz pozostać
top
i zachować wszystkie inne procesy w kontekście kontekstu, możesz nacisnąć,L
aby wyszukać proces:Podświetli to każdy proces z
chrome
nazwą i wyświetli go. Użyj,&
aby przejść do następnego meczu.Możesz nacisnąć,
c
aby przełączyć między wyświetlaniem nazwy procesu a pełnym poleceniem.źródło
man top | less +/5d
Możesz również użyć filtra u góry, aby wyodrębnić określone procesy. Naciśnij „O”, aby wyświetlić monit o filtr. Następnie wpisz filtr sformatowany jako FIELD = wartość. Na przykład, aby odfiltrować wszystkie procesy tmux, użyj:
Użyj „=”, aby zresetować filtry. Zobacz sekcję „FILTROWANIE” na górnej stronie man.
źródło