Ce înseamnă aux în `ps aux`?

ps aux pare să enumere convenabil toate procesele și starea și utilizarea resurselor acestora (Linux / BSD / MacOS), totuși nu pot înțelege semnificația parametrului aux folosind man ps.

Ce înseamnă aux înseamnă?

Comentarii

  • BTW ps = starea procesului

Răspuns

a = afișează procesele pentru toți utilizatorii
u = afișează utilizatorul / proprietarul procesului
x = arată și procesele care nu sunt atașate la un terminal

Apropo, man ps este o resursă bună.

Din punct de vedere istoric, BSD și AT & T a dezvoltat versiuni incompatibile ale ps. Opțiunile fără o liniuță principală (conform întrebării) sunt stilul BSD, în timp ce cele cu o liniuță principală sunt AT & Stilul T Unix. În plus, Linux a dezvoltat o versiune care acceptă ambele stiluri și apoi îi adaugă un al treilea stil cu opțiuni care încep cu liniuțe duble.

Toate (sau aproape toate) distribuțiile Linux neîncorporate folosesc o variantă a procps suite. Opțiunile de mai sus sunt definite în procps ps pagina manuală .

În comentarii , zici că folosești Apple MacOS (OSX, presupun). Pagina manuală OSX pentru ps este aici și afișează suport numai pentru AT & Stil T.

Comentarii

  • @HowardGuo Sunteți sigur că nu este ' t -u spre deosebire de doar u?
  • @HowardGuo Am actualizat răspunsul pentru a reflecta diferențele dintre GNU Versiunea (Linux) a ps și versiunea Apple OSX. Această întrebare este etichetată în prezent " Linux ". Dacă întrebați și despre MacOS, vă recomandăm să actualizați etichetele.
  • Mulțumesc foarte mult. Tocmai am verificat pagina manuală a ps în Linux și are informații referitoare la aux, MacOS ' pagina manuală nu are astfel de informații, s-ar putea fi o eroare de document.
  • Pagina manuală OSX pentru ps spune " … ps aux funcționează încă așa cum a funcționat în Tiger " sub " Legacy Description " secțiune.
  • Trebuie să obiectez la comentariul potrivit căruia " man ps este o resursă bună pe Mac OSX. Pagina manuală, doar la sfârșit, notează că ps aux este menținut ca o comoditate, dar nu există absolut niciun indiciu că opțiunile pot fi specificate fără a conduce cratime înainte de sfârșit, omul pagina este lungă și bogată în complexitate, iar un cititor poate petrece mult timp întrebându-și sănătatea înainte de a renunța și de a căuta la această întrebare stackexchange.

Răspuns

 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. 

Exemplu

$ 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] ... 

Cu comutările de mai sus vă ” Voi obține rezultate referitoare la procesele dvs. de mai sus.

Comutatoarele aux vă vor arăta:

  • toate procesele utilizatorilor
  • vă arată procesul listat într-un mod orientat către utilizator (după nume de utilizator)
  • vă arată toate procesele, nu doar cele atașate la un terminal. Aceasta va include procese precum servicii precum crond, upowerd etc.

Răspuns

Cheia pentru înțelegerea pagina de manual nu este pentru a căuta „aux” (pe care l-am încercat mai întâi), ci pentru a ne concentra pe secțiunea care descrie tipurile de parametri ps ia:

Această versiune de ps acceptă mai multe tipuri de opțiuni:

  1. opțiuni UNIX, care pot fi grupate și trebuie să fie precedate de o liniuță.
  2. Opțiuni BSD, care pot fi grupate și nu trebuie utilizate cu o liniuță.
  3. Opțiuni lungi GNU, care sunt precedate de două liniuțe.

Din aceasta, știm că aux este un set de (grupate ) Opțiuni BSD, a, u și x, ceea ce le face să arate ușor sus.

  • a și x contro l care procese sunt selectate și utilizate împreună sunt descrise în mod explicit pentru a selecta toate procesele.

  • u ieșiri utilizând „orientat către utilizator” „format, care oferă mai multe coloane, inclusiv ID-ul utilizatorului și utilizarea procesorului / memoriei.

Deoarece numai u controlează formatul de ieșire, puteți obține o ieșire în stil „ps aux” doar pentru procese specifice cu ps u $pid1 $pid2 ....

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *