30 naudingų „ps komandų“ pavyzdžių, skirtų „Linux“ procesų stebėjimui


ps (procesų būsena) yra vietinė „Unix“/„Linux“ programa, skirta peržiūrėti informaciją apie sistemoje vykdomų procesų pasirinkimą: ji nuskaito šią informaciją iš virtualių failų, esančių/proc failų sistema. Tai viena iš svarbių sistemos administravimo paslaugų, ypač stebint procesus, padedanti suprasti, kas vyksta Linux sistemoje.

Jame yra daug galimybių manipuliuoti jo išvestimi, tačiau kai kurios iš jų bus praktiškai naudingos kasdieniam naudojimui.

Taip pat skaitykite: viskas, ką reikia žinoti apie procesus sistemoje „Linux“ [išsamus vadovas]

Šiame straipsnyje apžvelgsime 30 naudingų ps komandų pavyzdžių, skirtų stebėti aktyvius veikiančius procesus Linux sistemoje.

Atminkite, kad ps sukuria išvestį su antraštės eilute, kuri nurodo kiekvieno informacijos stulpelio reikšmę. Visų etikečių reikšmę galite rasti ps man puslapyje.

Išvardykite visus procesus dabartiniame apvalkale

1. Jei vykdote ps komandą be jokių argumentų, bus rodomi dabartinio apvalkalo procesai.

ps 

Spausdinkite visus procesus skirtingais formatais

2. Rodyti kiekvieną aktyvų procesą „Linux“ sistemoje bendruoju („Unix“/„Linux“) formatu.

ps -A
OR
ps -e

3. Rodyti visus procesus BSD formatu.

ps au
OR
ps axu

4. Norėdami sudaryti viso formato sąrašą, pridėkite žymą -f arba -F.

ps -ef
OR
ps -eF

Rodyti vartotojo vykdomus procesus

5. Galite pasirinkti visus jums priklausančius procesus (ps komandos vykdytojas, šiuo atveju root), įveskite:

ps -x 

6. Jei norite rodyti naudotojo procesus pagal tikrąjį vartotojo ID (RUID) arba vardą, naudokite žymą -U.

ps -fU tecmint
OR
ps -fu 1000

7. Norėdami pasirinkti naudotojo procesus pagal efektyvų naudotojo ID (EUID) arba vardą, naudokite parinktį -u .

ps -fu tecmint
OR
ps -fu 1000

Spausdinti visus procesus, veikiančius kaip šakninis (tikrasis ir veiksmingas ID)

8. Toliau pateikta komanda leidžia peržiūrėti kiekvieną procesą, vykdomą su root vartotojo teisėmis (tikrasis ir galiojantis ID) vartotojo formatu.

ps -U root -u root 

Rodyti grupės procesus

9. Jei norite išvardyti visus procesus, priklausančius tam tikrai grupei (tikrasis grupės ID (RGID) arba pavadinimas), įveskite.

ps -fG apache
OR
ps -fG 48

10. Norėdami išvardyti visus procesus, priklausančius galiojančiam grupės pavadinimui (arba seansui), įveskite.

ps -fg apache

Rodyti procesus pagal PID ir PPID

11. Galite išvardyti procesus pagal PID, kaip nurodyta toliau.

ps -fp 1178

12. Norėdami pasirinkti procesą pagal PPID, įveskite.

ps -f --ppid 1154

13. Pasirinkite naudodami PID sąrašą.

ps -fp 2226,1154,1146

Rodyti procesus pagal TTY

14. Norėdami pasirinkti procesus pagal tty, naudokite vėliavėlę -t, kaip nurodyta toliau.


ps -t pts/0
ps -t pts/1
ps -ft tty1

Spausdinimo proceso medis

15. Procesų medis rodo, kaip sistemos procesai yra susieti vienas su kitu; procesus, kurių tėvai buvo nužudyti, priima init (arba systemd).

ps -e --forest 

16. Taip pat galite spausdinti proceso medį tam tikram procesui, kaip šis.

ps -f --forest -C sshd
OR
ps -ef --forest | grep -v grep | grep sshd 

Spausdinimo proceso gijos

17. Jei norite spausdinti visas proceso gijas, naudokite vėliavėlę -L, parodys LWP (lengvas procesas), taip pat NLWP (lengvų procesų skaičius) stulpelius.

ps -fL -C httpd

Nurodykite pasirinktinį išvesties formatą

Naudodami parinktis -o arba -format, ps leidžia kurti vartotojo apibrėžtus išvesties formatus, kaip parodyta toliau.

18. Norėdami pateikti visų formatų specifikacijų sąrašą, įtraukite žymą L.

ps L

19. Toliau pateikta komanda leidžia peržiūrėti proceso PID, PPID, vartotojo vardą ir komandą.

ps -eo pid,ppid,user,cmd

20. Toliau pateikiamas kitas tinkinto išvesties formato pavyzdys, rodantis failų sistemos grupę, gražią vertę, pradžios laiką ir praėjusį proceso laiką.

ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime

21. Norėdami rasti proceso pavadinimą naudodami jo PID.

ps -p 1154 -o comm=

Rodyti tėvų ir vaikų procesus

22. Norėdami pasirinkti konkretų procesą pagal jo pavadinimą, naudokite žymą -C. Taip pat bus rodomi visi antriniai procesai.

ps -C sshd

23. Raskite visus PID visų proceso atvejų, naudingų rašant scenarijus, kuriems reikia nuskaityti PID iš standartinės išvesties arba failo.

ps -C httpd -o pid=

24. Patikrinkite proceso vykdymo laiką.

ps -eo comm,etime,user | grep httpd

Žemiau pateikta išvestis rodo, kad HTTPD paslauga veikė 1 valandą, 48 minutes ir 17 sekundžių.

„Linux“ sistemos našumo trikčių šalinimas

Jei jūsų sistema neveikia taip, kaip turėtų, pavyzdžiui, jei ji neįprastai lėta, galite atlikti tam tikrą sistemos trikčių šalinimą, kaip nurodyta toliau.

26. Raskite populiariausius veikiančius procesus pagal didžiausią atminties ir procesoriaus naudojimą sistemoje „Linux“.

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
OR
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

27. Norėdami sustabdyti „Linux“ procesus/nereaguojančias programas arba bet kokį procesą, sunaudojantį daug procesoriaus laiko.

Pirmiausia suraskite nereaguojančio proceso ar programos PID.

ps -A | grep -i stress

Tada naudokite nužudymo komandą, kad ją nedelsiant nutrauktumėte.

kill -9 2583 2584

Spausdinti saugos informaciją

28. Rodyti saugos kontekstą (ypač SELinux), kaip šis.

ps -eM
OR
ps --context

29. Naudodami šią komandą taip pat galite rodyti saugos informaciją vartotojo nustatytu formatu.

ps -eo  euser,ruser,suser,fuser,f,comm,label

Atlikite procesų stebėjimą realiuoju laiku naudodami „Watch Utility“.

30. Galiausiai, kadangi ps rodo statinę informaciją, galite naudoti laikrodžio programą, kad atliktumėte proceso stebėjimą realiuoju laiku su pasikartojančia išvestimi, kuri rodoma kas sekundę, kaip nurodyta toliau pateiktoje komandoje (nurodyti tinkintą ps komandą, kad pasiektumėte tikslą).

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

Svarbu: ps rodo tik statinę informaciją. Norėdami peržiūrėti dažnai atnaujinamą išvestį, galite naudoti įrankius, pvz., htop; viršuje ir žvilgsniai: paskutiniai du iš tikrųjų yra „Linux“ sistemos veikimo stebėjimo įrankiai.

Taip pat galbūt norėsite perskaityti šiuos susijusius straipsnius.

  1. Kaip rasti proceso pavadinimą naudojant PID numerį sistemoje „Linux“.
  2. Raskite populiariausius veikiančius procesus pagal didžiausią atminties ir procesoriaus naudojimą sistemoje „Linux“.
  3. „Kill“, „Pkill“ ir „Killall“ komandų vadovas procesui nutraukti sistemoje „Linux“.
  4. Kaip rasti ir nužudyti veikiančius procesus sistemoje „Linux“.
  5. Kaip paleisti „Linux“ komandą fone ir atjungti procesą terminale

Tai kol kas viskas. Jei turite naudingų ps komandos pavyzdžių, kuriuos norite bendrinti (nepamiršdami paaiškinti, ką ji daro), naudokite toliau pateiktą komentarų formą.