Co znaczy aux w `ps aux`?

ps aux wydaje się w wygodny sposób wymieniać wszystkie procesy, ich stan i wykorzystanie zasobów (Linux / BSD / MacOS), jednak nie mogę pojąć znaczenia parametru aux przy użyciu man ps.

Co oznacza aux znaczy?

Komentarze

  • BTW ps = stan procesu

Odpowiedź

a = pokaż procesy dla wszystkich użytkowników
u = wyświetl użytkownika / właściciela procesu
x = pokaż także procesy niepodłączone do terminala

Przy okazji, man ps to dobry zasób.

Historycznie BSD i AT & T opracował niezgodne wersje ps. Opcje bez początkowego myślnika (zgodnie z pytaniem) to styl BSD, podczas gdy te z początkowym myślnikiem to AT & Styl Unix T. Oprócz tego Linux opracował wersję, która obsługuje oba style a następnie dodaje do tego trzeci styl z opcjami zaczynającymi się od podwójnych myślników.

Wszystkie (lub prawie wszystkie) nieosadzone dystrybucje Linuksa używają wariantu procps . Powyższe opcje są takie, jak zdefiniowano na procps ps stronie podręcznika .

W komentarzach , mówisz, że używasz Apple MacOS (zakładam, że OSX). Strona podręcznika OSX dla ps znajduje się tutaj i pokazuje obsługę tylko dla AT & T style.

Komentarze

  • @HowardGuo Czy na pewno nie jest ' t -u w przeciwieństwie do u?
  • @HowardGuo Zaktualizowałem odpowiedź, aby odzwierciedlić różnice między GNU (Linux) wersja ps i wersja Apple OSX. To pytanie jest obecnie oznaczone tagiem " Linux ". Jeśli pytasz również o MacOS, możesz chcieć zaktualizować tagi.
  • Bardzo dziękuję. Właśnie sprawdziłem stronę podręcznika ps w systemie Linux i zawiera informacje dotyczące aux, MacOS ' strona podręcznika nie zawiera takich informacji, może być błędem w dokumencie.
  • Strona podręcznika OSX dla ps mówi: " … ps aux nadal działa tak, jak w Tiger " pod " Starszym opisem ".
  • Muszę sprzeciwić się komentarzowi, że " man ps to dobry zasób na mac OSX. Strona podręcznika, tylko na samym końcu, zauważa, że ps aux jest utrzymywane dla wygody, ale nie ma absolutnie żadnej wskazówki, że opcje można podawać bez początkowych myślników przed końcem, Strona jest długa i bardzo złożona, a czytelnik może spędzić dużo czasu na kwestionowaniu swojego poczytalności, zanim zrezygnuje i zacznie szukać odpowiedzi na pytanie dotyczące wymiany stosów.

Odpowiedź

 a Lift the BSD-style "only yourself" restriction, which is imposed upon the set of all processes when some BSD-style (without "-") options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes with a terminal (tty), or to list all processes when used together with the x option. u Display user-oriented format. x Lift the BSD-style "must have a tty" restriction, which is imposed upon the set of all processes when some BSD-style (without "-") options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes owned by you (same EUID as ps), or to list all processes when used together with the a option. 

Przykład

$ ps aux | head -10 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 51120 2796 ? Ss Dec22 0:09 /usr/lib/systemd/systemd --system --deserialize 22 root 2 0.0 0.0 0 0 ? S Dec22 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Dec22 0:04 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< Dec22 0:00 [kworker/0:0H] root 7 0.0 0.0 0 0 ? S Dec22 0:15 [migration/0] root 8 0.0 0.0 0 0 ? S Dec22 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? S Dec22 2:47 [rcu_sched] ... saml 3015 0.0 0.0 117756 596 pts/2 Ss Dec22 0:00 bash saml 3093 0.9 4.1 1539436 330796 ? Sl Dec22 70:16 /usr/lib64/thunderbird/thunderbird saml 3873 0.0 0.1 1482432 8628 ? Sl Dec22 0:02 gvim -f root 5675 0.0 0.0 124096 412 ? Ss Dec22 0:02 /usr/sbin/crond -n root 5777 0.0 0.0 51132 1068 ? Ss Dec22 0:08 /usr/sbin/wpa_supplicant -u -f /var/log/wpa_supplica saml 5987 0.7 1.5 1237740 119876 ? Sl Dec26 14:05 /opt/google/chrome/chrome --type=renderer --lang=en- root 6115 0.0 0.0 0 0 ? S Dec27 0:06 [kworker/0:2] ... 

W przypadku powyższych przełączników „ Otrzymasz dane wyjściowe dotyczące procesów, takich jak powyżej.

Przełączniki aux pokażą Ci:

  • wszystkie procesy użytkowników
  • pokazuje procesy wymienione w sposób zorientowany na użytkownika (według nazw użytkowników)
  • pokazuje wszystkie procesy, a nie tylko te podłączone do terminala. Obejmuje to procesy takie jak usługi takie jak crond, upowerd itp.

Odpowiedź

Klucz do zrozumienia strona podręcznika nie polega na wyszukiwaniu „aux” (co próbowałem najpierw), ale na skupieniu się na sekcji opisującej rodzaje parametrów ps trwa:

Ta wersja ps akceptuje kilka rodzajów opcji:

  1. Opcje UNIX, które mogą być grupowane i muszą być poprzedzone myślnikiem.
  2. Opcje BSD, które mogą być grupowane i nie mogą być używane z myślnikiem.
  3. Długie opcje GNU, które są poprzedzone znakiem dwie kreski.

Z tego wiemy, że aux to zbiór (zgrupowanych ) Opcje BSD, a, u i x, co nieco ułatwia ich przeglądanie w górę.

  • a i x contro l które procesy są wybierane i używane razem, są wyraźnie opisane w celu wybrania wszystkich procesów.

  • u wyjścia przy użyciu „zorientowanego na użytkownika ”, co daje więcej kolumn, w tym identyfikator użytkownika i użycie procesora / pamięci.

Ponieważ u samodzielnie kontroluje format wyjściowy, możesz uzyskać wyjście w stylu „ps aux” tylko dla określonych procesów za pomocą ps u $pid1 $pid2 ....

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *