30 Hyödyllisiä ps-komentoesimerkkejä Linux-prosessin seurannalle


ps (prosessien tila) on natiivi Unix/Linux-apuohjelma, joka näyttää tietoja järjestelmän käynnissä olevista prosesseista: se lukee nämä tiedot/proc-tiedostojärjestelmän virtuaalitiedostoista. Se on yksi tärkeimmistä järjestelmänhallinnan apuohjelmista, joka on erityisesti prosessin valvonnan alainen, ja auttaa sinua ymmärtämään mitä Linux-järjestelmässä tapahtuu.

Sillä on lukuisia vaihtoehtoja tuotoksensa manipuloimiseksi, mutta pieni määrä niistä on käytännössä hyödyllisiä päivittäiseen käyttöön.

Tässä artikkelissa tarkastellaan 30 hyödyllistä esimerkkiä ps-komennoista aktiivisten käynnissä olevien prosessien seuraamiseksi Linux-järjestelmässä.

Huomaa, että ps tuottaa tuloksen otsikkorivillä, joka edustaa kunkin tietosarakkeen merkitystä. Löydät kaikkien tarrojen merkityksen ps-man-sivulta.

Luettelo kaikista nykyisen kuoren prosesseista

1. Jos suoritat ps-komennon ilman argumentteja, se näyttää nykyisen kuoren prosessit.

$ ps 

Tulosta kaikki prosessit eri muodoissa

2. Näytä kaikki Linux-järjestelmän aktiiviset prosessit yleisessä (Unix/Linux) muodossa.

$ ps -A
OR
$ ps -e

3. Näytä kaikki prosessit BSD-muodossa.

$ ps au
OR
$ ps axu

4. Suorita täysimuotoinen luettelo lisäämällä lippu -f tai -F .

$ ps -ef
OR
$ ps -eF

Näytä käyttäjän suorittamat prosessit

5. Voit valita kaikki omistamasi prosessit (ps-komennon juoksija, tässä tapauksessa juuri), kirjoita:

$ ps -x 

6. Voit näyttää käyttäjän prosessit todellisen käyttäjätunnuksen (RUID) tai nimen mukaan käyttämällä -U -merkkiä.

$ ps -fU tecmint
OR
$ ps -fu 1000

7. Voit valita käyttäjän prosessit tosiasiallisen käyttäjätunnuksen (EUID) tai nimen perusteella käyttämällä -u -vaihtoehtoa.

$ ps -fu tecmint
OR
$ ps -fu 1000

Tulosta kaikki juurina käynnissä olevat prosessit (todellinen ja tehokas tunnus)

8. Alla olevan komennon avulla voit tarkastella kaikkia prosesseja, jotka suoritetaan pääkäyttäjän oikeuksilla (todellinen ja tehokas tunnus) käyttäjän muodossa.

$ ps -U root -u root 

Näytä ryhmäprosessit

9. Jos haluat luetella kaikki tietyn ryhmän omistamat prosessit (todellinen ryhmätunnus (RGID) tai nimi), kirjoita.

$ ps -fG apache
OR
$ ps -fG 48

10. Jos haluat luetella kaikki prosessit, jotka omistaa ryhmän tehokas nimi (tai istunto), kirjoita.

$ ps -fg apache

Näytä prosessit PID: n ja PPID: n mukaan

11. Voit listata prosessit PID: llä seuraavasti.

$ ps -fp 1178

12. Valitse prosessi PPID: n avulla kirjoittamalla.

$ ps -f --ppid 1154

13. Tee valinta PID-luettelon avulla.

$ ps -fp 2226,1154,1146

Näytä prosessit TTY: n mukaan

14. Valitse prosessit tty: n mukaan -t-lipulla seuraavasti.

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

Tulosta prosessipuu

15. Prosessipuu näyttää kuinka järjestelmän prosessit ovat yhteydessä toisiinsa; prosessit, joiden vanhemmat on tapettu, ovat init (tai systemd) hyväksymiä.

$ ps -e --forest 

16. Voit myös tulostaa prosessipuun tälle prosessille.

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

Tulosta prosessilangat

17. Jos haluat tulostaa prosessin kaikki säikeet, käytä lippua -L , jolloin näytetään sarakkeet LWP (kevyt prosessi) ja NLWP (kevyiden prosessien lukumäärä).

$ ps -fL -C httpd

Määritä mukautettu tulostusmuoto

Käyttämällä -o tai –format-asetuksia ps: n avulla voit rakentaa käyttäjän määrittelemiä tulostusmuotoja alla esitetyllä tavalla.

18. Jos haluat luetella kaikki muotomäärittimet, lisää lippu L .

$ ps L

19. Alla olevan komennon avulla voit tarkastella prosessin PID-, PPID-, käyttäjänimeä ja komentoa.

$ ps -eo pid,ppid,user,cmd

20. Alla on toinen esimerkki mukautetusta tulostusmuodosta, joka näyttää tiedostojärjestelmäryhmän, mukavan arvon, prosessin alkamisajan ja kuluneen ajan.

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

21. Voit etsiä prosessin nimen sen PID: n avulla.

$ ps -p 1154 -o comm=

Näytä vanhempien ja lasten prosessit

22. Jos haluat valita tietyn prosessin nimen perusteella, käytä -C-lippua, tämä näyttää myös kaikki sen aliprosessit.

$ ps -C sshd

23. Löydä kaikki prosessin esiintymien kaikki PID: t, jotka ovat hyödyllisiä kirjoitettaessa komentosarjoja, joiden täytyy lukea PID: t vakiotulosteesta tai tiedostosta.

$ ps -C httpd -o pid=

24. Tarkista prosessin suoritusaika.

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

Alla oleva lähtö osoittaa, että HTTPD-palvelu on ollut toiminnassa 1 tunti, 48 minuuttia ja 17 sekuntia.

Vianmääritys Linux-järjestelmän suorituskyvyssä

Jos järjestelmäsi ei toimi kuten pitäisi, esimerkiksi jos se on epätavallisen hidasta, voit suorittaa järjestelmän vianmäärityksen seuraavasti.

26. Löydä parhaiten käynnissä olevat prosessit suurimman muistin ja suorittimen käytön mukaan Linuxissa.

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

27. Tappamaan Linux-prosessit/reagoimattomat sovellukset tai kaikki prosessorit, jotka vievät paljon suorittimen aikaa.

Etsi ensin vastaamattoman prosessin tai sovelluksen PID.

$ ps -A | grep -i stress

Sitten lopeta se heti tappokomennolla.

$ kill -9 2583 2584

Tulosta suojaustiedot

28. Näytä tällainen suojauskonteksti (erityisesti SELinuxille).

$ ps -eM
OR
$ ps --context

29. Tällä komennolla voit myös näyttää suojaustiedot käyttäjän määrittelemässä muodossa.

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

Suorita reaaliaikainen prosessivalvonta Watch-apuohjelmalla

30. Lopuksi, koska ps näyttää staattista tietoa, voit käyttää kelloapuohjelmaa suorittamaan reaaliaikaista prosessivalvontaa toistuvalla lähdöllä, joka näkyy sekunnin välein kuten alla olevassa komennossa (määritä mukautettu ps-komento tavoitteen saavuttamiseksi).

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

Tärkeää: ps näyttää vain staattisia tietoja, jotta voit tarkastella usein päivitettävää tulosta käyttämällä työkaluja, kuten katseita: kaksi viimeistä ovat itse asiassa Linux-järjestelmän suorituskyvyn seurantatyökaluja.

Haluat ehkä myös lukea seuraavat aiheeseen liittyvät artikkelit.

  1. Kuinka löytää prosessin nimi Linuxin PID-numeron avulla
  2. Etsi parhaimmat käynnissä olevat prosessit suurimman muistin ja suorittimen käytön mukaan Linuxissa
  3. Opas Kill-, Pkill- ja Killall-komentoihin prosessin lopettamiseksi Linuxissa
  4. Kuinka löytää ja tappaa käynnissä olevat prosessit Linuxissa
  5. Linux-komennon käynnistäminen taustalla ja prosessin irrottaminen terminaalista

Tässä kaikki tältä erää. Jos sinulla on hyödyllisiä ps-komentoesimerkkejä jaettavia (unohtamatta selittää mitä se tekee), käytä alla olevaa kommenttilomaketta.