30 Noderīgi ps komandu piemēri Linux procesu uzraudzībai


ps (process status) ir vietējā Unix/Linux utilīta, lai skatītu informāciju par sistēmā darbojošos procesu atlasi: tā nolasa šo informāciju no virtuālajiem failiem/proc failu sistēmā. Tas ir viens no svarīgiem sistēmas administrēšanas utilītiem, kas tiek īpaši kontrolēts procesu uzraudzībā, lai palīdzētu jums saprast, kas notiek Linux sistēmā.

Tam ir daudz iespēju, kā manipulēt ar izvadi, tomēr neliels skaits no tiem praktiski noderēs ikdienas lietošanai.

Šajā rakstā mēs aplūkosim 30 noderīgus ps komandu piemērus aktīvu darbības procesu uzraudzībai Linux sistēmā.

Ņemiet vērā, ka ps ražo izvadi ar virsraksta līniju, kas atspoguļo katras informācijas kolonnas nozīmi, visu etiķešu nozīmi varat atrast ps manā lapā.

Uzskaitiet visus procesus pašreizējā čaulā

1. Ja palaižat komandu ps bez jebkādiem argumentiem, tā parāda pašreizējās čaulas procesus.

$ ps 

Drukāt visus procesus dažādos formātos

2. Parādiet visus aktīvos procesus Linux sistēmā vispārīgā (Unix/Linux) formātā.

$ ps -A
OR
$ ps -e

3. Parādīt visus procesus BSD formātā.

$ ps au
OR
$ ps axu

4. Lai veiktu pilna formāta sarakstu, pievienojiet karodziņu -f vai -F .

$ ps -ef
OR
$ ps -eF

Parādīt lietotāja darbības procesus

5. Varat atlasīt visus jums piederošos procesus (komandas ps skrējējs, šajā gadījumā sakne), ierakstiet:

$ ps -x 

6. Lai lietotāja procesus parādītu ar reālu lietotāja ID (RUID) vai vārdu, izmantojiet karodziņu -U .

$ ps -fU tecmint
OR
$ ps -fu 1000

7. Lai atlasītu lietotāja procesus pēc faktiskā lietotāja ID (EUID) vai nosaukuma, izmantojiet opciju -u .

$ ps -fu tecmint
OR
$ ps -fu 1000

Drukāt visus procesus, kas darbojas kā saknes (reāls un efektīvs ID)

8. Zemāk esošā komanda ļauj skatīt visus procesus, kas darbojas ar root lietotāja tiesībām (reālu un efektīvu ID) lietotāja formātā.

$ ps -U root -u root 

Displeja grupas procesi

9. Ja vēlaties uzskaitīt visus procesus, kas pieder noteiktai grupai (reālais grupas ID (RGID) vai nosaukums), ierakstiet.

$ ps -fG apache
OR
$ ps -fG 48

10. Lai uzskaitītu visus procesus, kas pieder efektīvam grupas nosaukumam (vai sesijai), ierakstiet.

$ ps -fg apache

Parādīt procesus pēc PID un PPID

11. Jūs varat uzskaitīt procesus pēc PID šādi.

$ ps -fp 1178

12. Lai atlasītu procesu pēc PPID, ierakstiet.

$ ps -f --ppid 1154

13. Veiciet atlasi, izmantojot PID sarakstu.

$ ps -fp 2226,1154,1146

Attēlošanas procesi pēc TTY

14. Lai atlasītu procesus pēc tty, izmantojiet -t karodziņu šādi.

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

Drukas procesa koks

15. Procesu koks parāda, kā sistēmas procesi ir saistīti viens ar otru; procesus, kuru vecāki ir nogalināti, pieņem init (vai systemd).

$ ps -e --forest 

16. Varat arī izdrukāt procesa koku šādam procesam.

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

Drukas procesa pavedieni

17. Lai izdrukātu visus procesa pavedienus, izmantojiet karodziņu -L , tas parādīs kolonnas LWP (vieglais process), kā arī NLWP (vieglo procesu skaits).

$ ps -fL -C httpd

Norādiet pielāgotu izvades formātu

Izmantojot opcijas -o vai –formāts, ps ļauj veidot lietotāja definētus izvades formātus, kā parādīts zemāk.

18. Lai uzskaitītu visus formātu specifikatorus, iekļaujiet karodziņu L .

$ ps L

19. Zemāk esošā komanda ļauj apskatīt procesa PID, PPID, lietotāja vārdu un komandu.

$ ps -eo pid,ppid,user,cmd

20. Zemāk ir vēl viens pielāgota izvades formāta piemērs, kurā parādīta failu sistēmas grupa, jauka vērtība, sākuma laiks un pagājušais procesa laiks.

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

21. Lai atrastu procesa nosaukumu, izmantojot tā PID.

$ ps -p 1154 -o comm=

Parādīt vecāku un bērnu procesus

22. Lai izvēlētos konkrētu procesu pēc nosaukuma, izmantojiet karodziņu -C, tas parādīs arī visus tā pakārtotos procesus.

$ ps -C sshd

23. Atrodiet visus PID no visiem procesa gadījumiem, kas ir noderīgi, rakstot skriptus, kuriem PID jālasa no standarta izejas vai faila.

$ ps -C httpd -o pid=

24. Pārbaudiet procesa izpildes laiku.

$ ps -eo comm,etime,user | grep httpd

Zemāk esošajā izvadē redzams, ka HTTPD pakalpojums darbojas 1 stundu, 48 minūtes un 17 sekundes.

Linux sistēmas veiktspējas problēmu novēršana

Ja jūsu sistēma nedarbojas, kā vajadzētu, piemēram, ja tā ir neparasti lēna, dažas sistēmas problēmu novēršanas darbības varat veikt šādi.

26. Atrodiet vislabākos procesus pēc vislielākās atmiņas un procesora izmantošanas Linux.

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

27. Lai nogalinātu Linux procesus/nereaģējošas lietojumprogrammas vai jebkuru procesu, kas patērē lielu CPU laiku.

Vispirms atrodiet nereaģējošā procesa vai lietojumprogrammas PID.

$ ps -A | grep -i stress

Pēc tam izmantojiet komandu kill, lai to nekavējoties izbeigtu.

$ kill -9 2583 2584

Drukāt drošības informāciju

28. Parādiet drošības kontekstu (īpaši SELinux) šādi.

$ ps -eM
OR
$ ps --context

Izmantojot šo komandu, drošības informāciju var parādīt arī lietotāja definētā formātā.

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

Veiciet reāllaika procesu uzraudzību, izmantojot Watch Utility

30. Visbeidzot, tā kā ps parāda statisko informāciju, varat izmantot pulksteņa utilītu, lai reāllaikā veiktu procesu uzraudzību ar atkārtotu izvadi, kas tiek parādīta pēc katras sekundes, kā norādīts zemāk esošajā komandā (mērķa sasniegšanai norādiet pielāgotu ps komandu).

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

Svarīgi: ps parāda tikai statisko informāciju, lai apskatītu bieži atjauninātu izvadi, varat izmantot tādus rīkus kā skatieni: pēdējie divi faktiski ir Linux sistēmas veiktspējas uzraudzības rīki.

Jūs varētu vēlēties arī izlasīt šādus saistītos rakstus.

  1. Kā atrast procesa nosaukumu, izmantojot Linux PID numuru
  2. Atrodiet vislabākos procesus pēc vislielākās atmiņas un procesora izmantošanas Linux sistēmā
  3. Ceļvedis komandām Kill, Pkill un Killall, lai izbeigtu procesu Linux
  4. Kā atrast un nogalināt skriešanas procesus Linux
  5. Kā palaist Linux komandu fonā un atvienot procesu terminālā

Tas pagaidām ir viss. Ja jums ir noderīgs (-i) noderīgs (-i) komandas (-u) piemērs (-i) (neaizmirstot paskaidrot, ko tas dara), izmantojiet zemāk esošo komentāru veidlapu.