W systemie Linux działająca instancja programu nazywana jest procesem. Czasami podczas pracy na komputerze z systemem Linux może zajść potrzeba ustalenia, jakie procesy są aktualnie uruchomione.
Istnieje wiele poleceń, których można użyć do znalezienia informacji o uruchomionych procesach, z ps, pstree i top to najczęściej używane.
To artykuł wyjaśnia, jak używać polecenia ps, aby wyświetlić listę aktualnie uruchomionych procesów i wyświetlić informacje o tych procesach.
Jak używać polecenia ps #
Ogólna składnia polecenia ps jest następująca:
Ze względów historycznych i zgodności polecenie ps akceptuje kilka różnych typów opcji:
- Opcje w stylu UNIX poprzedzone pojedynczym myślnikiem.
- Opcje w stylu BSD, używane bez myślnika.
- Długie opcje GNU poprzedzone dwoma myślnikami.
Różne typy opcji ca n być mieszanymi, ale w niektórych szczególnych przypadkach mogą pojawić się konflikty, więc najlepiej jest trzymać się jednego typu opcji.
Opcje BSD i UNIX można grupować.
W najprostszym form, użyty bez żadnej opcji, ps wyświetli cztery kolumny informacji o co najmniej dwóch procesach uruchomionych w bieżącej powłoce, samej powłoce i procesach, które działają w powłoce, gdy polecenie zostało wywołane.
Dane wyjściowe zawierają informacje o powłoce (bash) i procesie działającym w tym shell (ps, polecenie, które wpisałeś):
Cztery kolumny mają etykietę PID, TTY, TIME i CMD.
-
PID– identyfikator procesu. Zwykle podczas uruchamiania poleceniapsnajważniejszą informacją, której szuka użytkownik, jest identyfikator PID procesu. Znajomość PID pozwala zabić nieprawidłowo działający proces. -
TTY– nazwa terminala kontrolującego proces. -
TIME– skumulowany czas procesora procesu, przedstawiony w minutach i sekundach. -
CMD– nazwa polecenia który został użyty do rozpoczęcia procesu.
Powyższe dane wyjściowe nie są zbyt przydatne, ponieważ nie zawierają zbyt wielu informacji. Prawdziwa moc polecenia ps pojawia się, gdy zostanie uruchomiona z dodatkowymi opcjami.
Polecenie ps akceptuje ogromną liczbę opcji, których można użyć do wyświetlenia określonej grupy procesów i różnych informacji o procesie, ale tylko kilka jest potrzebnych w codziennym użytkowaniu.
ps jest najczęściej używany z następującą kombinacją opcji:
Formularz BSD:
- Identyfikator
mówi
ps, aby wyświetlić procesy wszystkich użytkowników. Tylko procesy, które nie są powiązane z terminalem i procesy liderów grup nie są wyświetlane. -
uoznacza format zorientowany na użytkownika, który zawiera szczegółowe informacje o - Opcja
xinstruujeps, aby wyświetlić procesy bez terminala sterującego. Są to głównie procesy uruchamiane podczas rozruchu i działające w tle.
Polecenie wyświetla informacje w jedenastu kolumnach oznaczonych USER, PID, %CPU, %MEM, VSZ, RSS, STAT, START, TTY, TIME i CMD.
Wyjaśniliśmy już PID, TTY, TIME i CMD. Oto wyjaśnienie innych etykiet:
-
USER– użytkownik, który uruchamia proces. -
%CPU– Wykorzystanie procesora przez proces. -
%MEM– Procent rozmiaru zestawu rezydentnego procesu w stosunku do fizycznej pamięci komputera . -
VSZ– Rozmiar pamięci wirtualnej procesu w KiB. -
RSS– Rozmiar pamięci fizycznej używanej przez proces. -
STAT– kod stanu procesu, taki jakZ(zombie),S(uśpienie) iR(bieganie). -
START– czas uruchomienia polecenia.
Opcja f mówi ps, aby wyświetlić widok drzewa procesów nadrzędnych dla procesów potomnych:
Polecenie ps umożliwia także sortowanie wyników. Na przykład, aby posortować dane wyjściowe na podstawie wykorzystania pamięci, należy użyć:
Formularz UNIX:
- Opcja
-einstruujeps, aby wyświetlić wszystkie procesy. -
-fto lista w pełnym formacie, która zawiera szczegółowe informacje o procesach.
Polecenie wyświetla informacje w ośmiu kolumnach oznaczonych UID, PID, PPID, C, STIME, TIME i CMD.
Etykiety, które nie zostały jeszcze wyjaśnione, mają następujące znaczenie:
-
UID– to samo coUSER, użytkownik, który uruchamia proces. -
PPID– identyfikator procesu nadrzędnego. -
C– Sam e jako%CPU, wykorzystanie procesora procesora. -
STIME– Tak samo jakSTART, godzina uruchomienia polecenia.
Aby wyświetlić tylko procesy działające jako określony użytkownik, wpisz następujące polecenie, gdzie linuxize to nazwa użytkownika:
Format zdefiniowany przez użytkownika #
o umożliwia określenie, które kolumny mają być wyświetlane po uruchomieniu polecenia ps.
Na przykład, aby wydrukować informacje tylko o PID i COMMAND, należy uruchomić jedno z następujących poleceń:
Używanie ps z innymi poleceniami #
ps może być używane w połączeniu z innymi poleceniami przez potok.
Jeśli chcesz wyświetlić dane wyjściowe polecenia ps, po jednej stronie naraz Prześlij go do polecenia less:
Dane wyjściowe ps polecenie można filtrować za pomocą grep. Na przykład, aby wyświetlić tylko proces należący do użytkownika root, należy uruchomić:
Wniosek #
ps jest jednym z najczęściej używanych poleceń podczas rozwiązywania problemów w systemach Linux. Ma wiele opcji, ale zazwyczaj większość użytkowników używa ps aux lub ps -ef do zbierania informacji o uruchomionych procesach.
Aby uzyskać więcej informacji na temat ps, wpisz man ps w swoim terminalu.