När du arbetar, ibland fryser dina program plötsligt. Andra gånger körs programmen fortfarande men med hög processor- eller minnesförbrukning. Det finns ett sätt att fixa detta i Linux med ps (Process Status) kommando. Här visar vi dig hur du använder ps kommando i Linux för att lista de processer som för närvarande körs och deras PID: er. Du kan sedan hitta och döda processerna som förbrukar dina resurser.
Med kommandot ”ps”
De ps kommandot kan användas på egen hand. Det kommer att mata ut fyra kolumner med information:
- PID: den unika identifieraren för processen som definieras av systemet. Det är värdet som vi använder för att stoppa en process.
- TTY: terminal från vilken processen startades.
- TID: den totala mängden CPU -tid som används av processen.
- CMD: kommando som genererar processen
Observera att när du använder kommandot utan några alternativ visar det dig inte mycket information. Här är några sätt att göra det mer användbart.
1. Lista processen för alla användare
När vissa program är installerade skapar de ibland även ytterligare användare för att köra processen. För att lista användarnas processer, använd -e alternativ:
ps -e
och dess utgång:
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. Lista processen med mer information
Det är möjligt att ha mer information när du listar den pågående processen. För att göra detta kan du använda ef alternativ.
ps -ef
och dess utgång:
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. Filtrera processen efter process -ID
Om du känner till process -ID för den pågående processen du vill visa kan du filtrera efter det specifikt med -p flagga. Detta kan ta flera PID som argument, separerade med ett enda komma och inget mellanslag.
ps -ef -p 1234,5678,9012
4. Lista de processer som ägs av en användare
Du kan också lista de processer som ägs av en användare med u alternativ följt av användarens namn:
ps -u userName
och dess utgång:
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. Lista de aktiva processerna
Det är möjligt att lista alla processer som är aktiva med hjälp av ax alternativ:
ps -ax
och dess utgång:
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. Lista de aktiva processerna med användarna
Det är möjligt att lista alla aktiva processer med användarna när du lägger till -aux flagga:
ps -aux
och dess utgång:
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. Filtrera processen med namnet på ett program
Det är möjligt att hämta informationen om ett specifikt program som körs genom att använda ett filter på ps resultat:
ps -aux | grep docker
och dess utgång:
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
Alternativt kan du också använda C alternativ för att filtrera processen efter dess namn:
ps -C name

8. Visa specifika kolumner
Förutom de fyra standardkolumnerna kan du få ps för att visa en ytterligare kolumn med information. Till exempel:
ps -e -o pid,uname,pcpu,pmem,comm

De -o flagga anger specifika alternativ för utdata för ps kommandos resultat. Se en fullständig lista över standardvisningsalternativ för ps.
9. Visa resultat i hierarkisk trädstil
ps -e --forest
Detta använder ASCII-konst för att skapa en trädformad struktur för att visa processer. Visar förkroppsliga och barnprocesser som ättlingar till lämpliga överordnade processer, sortering efter matchning. För att dölja ”grenarna” på trädet, använd -H istället för --forest.
10. Visa processtrådar
ps -p 4041 -L

De -L flagga växlar på en gängad display för alla funktioner i ps. Det är mest användbart när du spårar trådarna i en specifik process.
11. Visa alla rotprocesser
ps -f -U root -u root

Utför en sökning efter alla processer som körs med verkliga och effektiva rotidentifieringar. Detta visar dem i full längd, tack vare -f flagga. Du kan kombinera det med -o flagga för att anpassa utdata.
Använd kommandot kill för att stoppa en process
När du har hittat den felaktiga processen kan du använda kill -kommandot för att döda en process som körs. Kommandot skickar en signal till en process som avslutar den. När dina program är frusna, för det mesta måste du med kraft döda dem med -9 alternativ.

Utmatningen av ps är en omedelbar vy. Till skillnad från htop, Det uppdaterar sig inte dynamiskt. Det betyder att du kanske måste köra det flera gånger för att få en klar bild av vilken process som uppför sig fel. För att få en uppdaterad bild av processerna kan du prova några andra kommandon för Linux-systemet.
Stöd vårt arbete ❤️
Om du gillade den här artikeln, överväg att lämna dricks för att hjälpa oss fortsätta publicera bra innehåll.





















