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 poleceniaps
najważ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. -
u
oznacza format zorientowany na użytkownika, który zawiera szczegółowe informacje o - Opcja
x
instruujeps
, 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
-e
instruujeps
, aby wyświetlić wszystkie procesy. -
-f
to 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.