Kun työskentelet, joskus ohjelmasi jäätyvät yhtäkkiä. Muina aikoina ohjelmat ovat edelleen käynnissä, mutta prosessorin tai muistin kulutus on suuri. On olemassa tapa korjata tämä Linuxissa käyttämällä ps (Process Status) -komento. Tässä näytämme, kuinka käyttää ps Linux -komento luetellakseen käynnissä olevat prosessit ja niiden PID -tunnukset. Voit sitten löytää ja tappaa resurssejasi kuluttavat prosessit.
Käyttämällä ”ps” -komentoa
The ps komentoa voidaan käyttää yksinään. Se antaa neljä saraketta tietoa:
- PID: järjestelmän määrittämän prosessin yksilöllinen tunniste. Se on arvo, jota käytämme prosessin pysäyttämiseen.
- TTY: pääte, josta prosessi aloitettiin.
- AIKA: prosessin käyttämän suorittimen kokonaisaika.
- CMD: komento, joka luo prosessin
Huomaa, että kun käytät komentoa ilman vaihtoehtoja, se ei näytä paljon tietoja. Tässä on muutamia tapoja tehdä siitä hyödyllisempi.
1. Luettele kaikkien käyttäjien prosessi
Kun jotkin ohjelmat on asennettu, ne luovat joskus myös muita käyttäjiä suorittamaan prosessin. Voit luetella käyttäjien prosessit käyttämällä -e vaihtoehto:
ps -e
ja sen lähtö:
PID TTY TIME CMD 1 ? 00:00:02 systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:00 kworker/0:0 4 ? 00:00:00 kworker/0:0H 5 ? 00:00:00 kworker/u256:0 6 ? 00:00:00 mm_percpu_wq
2. Listaa prosessi, jossa on lisätietoja
On mahdollista saada lisätietoja, kun luetteloit käynnissä olevan prosessin. Voit tehdä tämän käyttämällä ef vaihtoehto.
ps -ef
ja sen lähtö:
UID PID PPID C STIME TTY TIME CMD root 1 0 0 21:34 ? 00:00:03 /sbin/init maybe-ubiquity root 2 0 0 21:34 ? 00:00:00 [kthreadd] root 3 2 0 21:34 ? 00:00:00 [kworker/0:0] root 4 2 0 21:34 ? 00:00:00 [kworker/0:0H] root 6 2 0 21:34 ? 00:00:00 [mm_percpu_wq] root 7 2 0 21:34 ? 00:00:00 [ksoftirqd/0]
3. Suodata prosessi prosessitunnuksen mukaan
Jos tiedät näytettävän käynnissä olevan prosessin prosessitunnuksen, voit suodattaa sen nimen -p lippu. Tämä voi viedä argumentteina useita PID -tunnuksia, erotettuna yhdellä pilkulla ja ilman välilyöntiä.
ps -ef -p 1234,5678,9012
4. Luettele käyttäjän omistamat prosessit
Voit myös luetella käyttäjän omistamat prosessit u vaihtoehto, jota seuraa käyttäjän nimi:
ps -u userName
ja sen lähtö:
PID TTY TIME CMD 2832 ? 00:00:00 systemd 2842 ? 00:00:00 (sd-pam) 3043 ? 00:00:00 sshd 3044 pts/1 00:00:00 bash 18396 pts/1 00:00:00 ps
5. Luettele aktiiviset prosessit
On mahdollista luetella kaikki aktiiviset prosessit käyttämällä ax vaihtoehto:
ps -ax
ja sen lähtö:
PID TTY STAT TIME COMMAND 1 ? Ss 0:02 /sbin/init maybe-ubiquity 2 ? S 0:00 [kthreadd] 3 ? I 0:00 [kworker/0:0] 4 ? I< 0:00 [kworker/0:0H] 6 ? I< 0:00 [mm_percpu_wq] 7 ? S 0:00 [ksoftirqd/0]
6. Listaa aktiiviset prosessit käyttäjien kanssa
On mahdollista luetella kaikki aktiiviset prosessit käyttäjien kanssa, kun lisäät -aux lippu:
ps -aux
ja sen lähtö:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 78132 9188 ? Ss 21:34 0:02 /sbin/init maybe-ubiquity root 2 0.0 0.0 0 0 ? S 21:34 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I 21:34 0:00 [kworker/0:0] root 4 0.0 0.0 0 0 ? I< 21:34 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? I< 21:34 0:00 [mm_percpu_wq] root 7 0.0 0.0 0 0 ? S 21:34 0:00 [ksoftirqd/0] root 8 0.0 0.0 0 0 ? I 21:34 0:00 [rcu_sched] root 9 0.0 0.0 0 0 ? I 21:34 0:00 [rcu_bh] root 10 0.0 0.0 0 0 ? S 21:34 0:00 [migration/0]
7. Suodata prosessi ohjelman nimen perusteella
On mahdollista noutaa tietyn käynnissä olevan ohjelman tiedot käyttämällä suodatinta ps tulos:
ps -aux | grep docker
ja sen lähtö:
root 1508 0.0 2.2 1518156 90868 ? Ssl 21:34 0:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock userkub+ 18429 0.0 0.0 13144 1108 pts/1 S+ 23:57 0:00 grep --color=auto docker
Vaihtoehtoisesti voit käyttää myös C mahdollisuus suodattaa prosessi nimen mukaan:
ps -C name

8. Näytä erityiset sarakkeet
Neljän oletussarakkeen lisäksi voit saada ps näyttääksesi lisätietosarakkeen. Esimerkiksi:
ps -e -o pid,uname,pcpu,pmem,comm

The -o lippu asettaa tietyt tulostusnäyttövaihtoehdot ps komennon tulokset. Katso täydellinen luettelo ps: n vakiomuotoiset näyttövaihtoehdot.
9. Näytä tulokset hierarkkisessa puutyylissä
ps -e --forest
Tämä luo ASCII-taiteen avulla puutyylisen rakenteen prosessien näyttämiseksi. Näyttää haarukka- ja lapsiprosessit asianmukaisten pääprosessien jälkeläisinä, lajittelemalla vastaamaan. Voit piilottaa puun ”oksat” käyttämällä -H sijasta --forest.
10. Näytä prosessin säikeet
ps -p 4041 -L

The -L lippu vaihtaa kierteitetylle näytölle, jos haluat käyttää kaikkia ps: n toimintoja. Siitä on eniten hyötyä, kun seurataan tietyn prosessin säikeitä.
11. Näytä kaikki juuriprosessit
ps -f -U root -u root

Suorita haku kaikille prosesseille, joilla on todellinen ja tehokas juuritunnistus. Tämä näyttää ne täyspitkässä muodossa -f lippu. Voit yhdistää sen -o lippua, jotta voit muokata tulostusta.
Käytä kill -komentoa prosessin pysäyttämiseen
Kun olet löytänyt väärin toimivan prosessin, voit tappaa käynnissä olevan prosessin tappaa komennolla. Komento lähettää signaalin prosessille, joka lopettaa sen. Kun ohjelmasi ovat jäädytettyjä, sinun on useimmiten tapettava ne väkisin -9 vaihtoehto.

Ps: n tulos on välitön näkymä. Toisin kuin htop, Se ei päivitä itseään dynaamisesti. Tämä tarkoittaa, että sinun on ehkä suoritettava se useita kertoja saadaksesi selkeän kuvan siitä, mikä prosessi toimii väärin. Jos haluat saada ajantasaisen näkymän prosesseista, voit kokeilla muita Linux-järjestelmän komentoja.
Tue työtämme ❤️
Jos pidit tästä artikkelista, harkitse tipin antamista, jotta voimme jatkaa laadukkaan sisällön julkaisemista.





















