30 Hyödylliset ’ps-komento’ -esimerkit Linux-prosessinvalvontaan
ps (prosessien tila) on natiivi Unix / Linux-apuohjelma valintaa koskevien tietojen katseluun käynnissä olevista prosesseista järjestelmässä: se lukee nämä tiedot virtuaalisista tiedostoista / proc-tiedostojärjestelmässä. Se on yksi tärkeimmistä järjestelmänhallinnan apuohjelmista, joka on erityisesti prosessin seurannan alainen. Se auttaa sinua ymmärtämään, mitä Linux-järjestelmässä tapahtuu.
Siinä on lukuisia vaihtoehtoja tuotoksen manipuloimiseksi, mutta löydät pienen Niiden määrä on käytännöllisesti hyödyllinen päivittäiseen käyttöön.
Lue myös: Kaikki mitä sinun tarvitsee tietää Linuxin prosesseista
Tässä artikkelissa tarkastellaan 30 hyödyllistä esimerkkiä ps-komennoista aktiivisten käynnissä olevien prosessien seuraamiseen Linux-järjestelmässä.
Huomaa, että ps tuottaa ulostulon otsikkorivillä, joka edustaa jokaisen tietosarakkeen merkitystä. Löydät kaikkien tarrojen merkityksen ps-manusta sivu.
Luettele kaikki nykyisen kuoren prosessit
1. Jos suoritat ps-komennon ilman argumentteja, se näyttää nykyisen kuoren prosessit.
$ ps
Tulosta kaikki prosessit eri muodoissa
2. Näytä kaikki aktiiviset prosessit Linux-järjestelmissä yleisessä muodossa (Unix / Linux).
$ ps -AOR$ ps -e
3. Näytä kaikki prosessit BSD-muodossa.
$ ps auOR$ ps axu
4. Suorita täysimuotoinen luettelo lisäämällä lippu -f
tai -F
.
$ ps -efOR$ ps -eF
Näytä käyttäjän suorittamat prosessit
5. Voit valita kaikki omistamasi prosessit (ps-komennon juoksija, root tässä tapauksessa), 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 tecmintOR$ 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 tecmintOR$ ps -fu 1000
Tulosta kaikki juurina käynnissä olevat prosessit (Real ja Effecitve ID)
8. Alla olevan komennon avulla voit tarkastella kaikkia prosesseja, jotka suoritetaan pääkäyttäjän oikeuksilla (todellinen & tehokas tunnus) käyttäjämuodossa. >
Näytä ryhmäprosessit
9. Jos haluat luetella kaikki tietyn ryhmän omistamat prosessit (todellinen ryhmätunnus (RGID) tai nimi), kirjoita.
$ ps -fG apacheOR$ ps -fG 48
10. Kirjoita luettelo kaikista tehokkaan ryhmän nimen (tai istunnon) omistamista prosesseista.
$ ps -fg apache
Näytä prosessit PID: n ja PPID: n mukaan
11. Voit luetella PID-prosessit seuraavasti.
$ ps -fp 1178
12. Jos haluat valita prosessin PPID: n avulla, kirjoita.
$ ps -f --ppid 1154
13. Tee valinta PID-luettelon avulla.
$ ps -fp 2226,1154,1146
TTY: n näyttämät prosessit
14. Jos haluat valita prosessit tty: n mukaan, käytä -t-lippua seuraavasti.
$ ps -t pst/0$ ps -t pst/1$ ps -ft tty1
Tulosta prosessipuu
15. Prosessipuu näyttää kuinka järjestelmän prosessit ovat yhteydessä toisiinsa; prosessit, joiden vanhemmat on tapettu, on init (tai systemd) hyväksymä.
$ ps -e --forest
16. Voit myös tulostaa prosessipuun tietylle tälle prosessille.
$ ps -f --forest -C sshdOR$ ps -ef --forest | grep -v grep | grep sshd
Tulosta prosessilangat
17. Jos haluat tulostaa prosessin kaikki säikeet, käytä -H
-lippua, jolloin näkyviin tulevat LWP (kevyt prosessi) – ja NLWP (kevyt prosessi) sarakkeet.
$ ps -fL -C httpd
Määritä mukautettu tulostusmuoto
Käyttämällä -o tai –format-vaihtoehtoja ps voit rakentaa käyttäjän määrittelemiä tulostusmuotoja alla esitetyllä tavalla.
18. Jos haluat luetella kaikki muotomäärittimet, lisää L
-lippu.
$ ps L
19. Alla olevan komennon avulla voit tarkastella prosessin PID: tä, PPID: tä, käyttäjänimeä ja komentoa.
$ ps -eo pid,ppid,user,cmd
20. Alla on toinen esimerkki muokatusta 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. Prosessinimen löytäminen PID-tunnuksen avulla.
$ ps -p 1154 -o comm=
Näytä vanhemman ja lapsen 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 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 käynnissä 1 tunti, 48 minuuttia ja 17 sekuntia.
Vianmääritys Linux-järjestelmän suorituskyky
Jos järjestelmäsi ei toimi kuten pitäisi, esimerkiksi jos se on epätavallisen hidasta, voit suorittaa joitakin järjestelmän vianetsintää 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 | headOR$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
27. Tappamaan Linux-prosessit / reagoimattomat sovellukset tai muut 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 -eMOR$ ps --context
29. Voit myös näyttää suojaustiedot käyttäjän määrittelemässä muodossa tällä komennolla.
$ ps -eo euser,ruser,suser,fuser,f,comm,label
Suorita reaaliaikainen prosessivalvonta Watch-apuohjelmalla
30. Lopuksi, koska ps näyttää staattisia tietoja, voit käyttää watch-apuohjelmaa 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. Usein päivitetyn tuloksen tarkastelemiseen voit käyttää työkaluja, kuten htop; alkuun ja katseet: kaksi viimeistä ovat itse asiassa Linux-järjestelmän suorituskyvyn seurantatyökalu.
Saatat myös haluta lukea nämä seuraavat aiheeseen liittyvät artikkelit.
- Kuinka löytää prosessin nimi Linuxin PID-numeron avulla
- Etsi parhaiten käynnissä olevat prosessit Linuxin suurimman muistin ja suorittimen käytön mukaan
- opas Kill, Pkill ja Killall -komennot prosessin lopettamiseksi Linuxissa
- käynnissä olevien prosessien etsiminen ja tappaminen Linuxissa
- Linux-komennon käynnistäminen taustalla ja prosessin irrottaminen terminaalista >