Android

Komenda ps w systemie Linux (procesy list)

[Poradnik] Struktura katalogów w systemie Linux czyli wszystko jest plikiem :) Dlaczego / ROOT

[Poradnik] Struktura katalogów w systemie Linux czyli wszystko jest plikiem :) Dlaczego / ROOT

Spisu treści:

Anonim

W systemie Linux działająca instancja programu nazywa się procesem. Czasami podczas pracy na komputerze z systemem Linux może być konieczne sprawdzenie, jakie procesy są obecnie uruchomione.

Istnieje wiele poleceń, za pomocą których można znaleźć informacje o uruchomionych procesach, przy czym ps , pstree i top są najczęściej używanymi.

W tym artykule wyjaśniono, jak używać polecenia ps aby wyświetlić listę aktualnie działających procesów i wyświetlić informacje o tych procesach.

Jak korzystać z polecenia ps

Ogólna składnia polecenia ps jest następująca:

ps

Ze względów historycznych i ze względu na kompatybilność polecenie ps akceptuje kilka różnych typów opcji:

  • Opcje stylu UNIX, poprzedzone pojedynczym myślnikiem. Opcje stylu SBD, używane bez kreski. Długie opcje GNU, poprzedzone dwoma myślnikami.

Różne typy opcji mogą być mieszane, ale w niektórych szczególnych przypadkach mogą pojawić się konflikty, więc najlepiej trzymać się jednego rodzaju opcji.

Opcje BSD i UNIX można grupować.

W najprostszej formie, gdy zostanie użyta bez żadnej opcji, ps wypisze cztery kolumny informacji dla co najmniej dwóch procesów działających w bieżącej powłoce, samej powłoki i procesów, które działają w powłoce, gdy polecenie zostało wywołane.

ps

Dane wyjściowe zawierają informacje o powłoce ( bash ) i procesie uruchomionym w tej powłoce ( ps , wpisane polecenie):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

Cztery kolumny są oznaczone jako PID , TTY , TIME i CMD .

  • PID - identyfikator procesu. Zwykle podczas uruchamiania polecenia ps najważniejszą informacją, której szuka użytkownik, jest PID procesu. Znajomość PID pozwala zabić proces nieprawidłowego działania. TTY - nazwa terminala sterującego dla procesu. TIME - Łączny czas pracy procesora wyświetlany w minutach i sekundach. CMD - nazwa polecenia użytego do uruchomienia procesu.

Powyższe dane wyjściowe nie są zbyt przydatne, ponieważ nie zawierają zbyt wielu informacji. Prawdziwa moc polecenia ps pojawia się po uruchomieniu 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 garstka jest potrzebna w codziennym użyciu.

ps jest najczęściej używany z następującą kombinacją opcji:

Formularz BSD:

ps aux

  • Opcja informuje ps aby wyświetlał procesy wszystkich użytkowników. Tylko procesy niepowiązane z terminalem i procesy liderów grup nie są pokazywane. u oznacza format zorientowany na użytkownika, który zapewnia szczegółowe informacje o procesach. Opcja x instruuje ps aby wyświetlił listę procesów 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 .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Wyjaśniliśmy już etykiety PID , TTY , TIME i CMD . Oto wyjaśnienie innych etykiet:

  • USER - Użytkownik, który uruchamia proces. %CPU - wykorzystanie procesora przez procesor. %MEM - Procent wielkości rezydentnej procesu ustawionej w pamięci fizycznej na komputerze. VSZ - Rozmiar pamięci wirtualnej procesu w KiB. RSS - Rozmiar fizycznej pamięci używanej przez proces. STAT - Kod stanu procesu, taki jak Z (zombie), S (spanie) i R (uruchomiony). START - czas rozpoczęcia polecenia.

Opcja f mówi ps aby wyświetlał widok drzewa procesów nadrzędnych do potomnych:

ps auxf

Polecenie ps pozwala również sortować dane wyjściowe. Na przykład, aby posortować dane wyjściowe na podstawie użycia pamięci, należy użyć:

ps aux --sort=-%mem

Formularz UNIX:

ps -ef

  • Opcja -e instruuje ps aby wyświetlił wszystkie procesy. -f oznacza listę w pełnym formacie, która dostarcza szczegółowych informacji o procesach.

Polecenie wyświetla informacje w ośmiu kolumnach oznaczone UID , PID , PPID , C , STIME , TIME i CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Etykiety, które nie zostały jeszcze wyjaśnione, mają następujące znaczenie:

  • UID - taki sam jak USER , użytkownik, który uruchamia proces. PPID - identyfikator procesu nadrzędnego. C - Taki sam jak %CPU , wykorzystanie procesora przez proces. STIME - Taki sam jak START , czas uruchomienia polecenia.

Aby wyświetlić tylko procesy działające jako określony użytkownik, wpisz następującą komendę, gdzie linuxize to nazwa użytkownika:

ps -f -U linuxize -u linuxize

Format zdefiniowany przez użytkownika

Opcja o pozwala określić, które kolumny mają być wyświetlane podczas uruchamiania polecenia ps .

Na przykład, aby wydrukować informacje tylko o PID i COMMAND , uruchom jedno z następujących poleceń:

ps -efo pid, comm

ps auxo pid, comm

Używanie ps z innymi poleceniami

ps może być używany w połączeniu z innymi poleceniami poprzez potokowanie.

ps -ef | less

Dane wyjściowe polecenia ps można filtrować za pomocą grep . Na przykład, aby wyświetlić tylko proces należący do użytkownika root, należy uruchomić:

ps -ef | grep root

Wniosek

Polecenie ps jest jednym z najczęściej używanych poleceń podczas rozwiązywania problemów w systemach Linux. Ma wiele opcji, ale zwykle większość użytkowników używa ps aux lub ps -ef do zbierania informacji o uruchomionych procesach.

Aby uzyskać więcej informacji o ps , wpisz man ps w swoim terminalu.

terminal ps