Android

Ps-opdracht in linux (lijstprocessen)

ps command in linux to view all processes

ps command in linux to view all processes

Inhoudsopgave:

Anonim

In Linux wordt een actief exemplaar van een programma proces genoemd. Soms moet u, wanneer u op een Linux-machine werkt, uitzoeken welke processen momenteel worden uitgevoerd.

Er zijn een aantal opdrachten die u kunt gebruiken om informatie te vinden over de lopende processen, waarbij ps , pstree en top de meest gebruikte zijn.

In dit artikel wordt uitgelegd hoe u de opdracht ps gebruiken om een ​​lijst van de momenteel actieve processen weer te geven en informatie over die processen weer te geven.

Hoe ps Command te gebruiken

De algemene syntaxis voor het ps commando is als volgt:

ps

Om historische en compatibiliteitsredenen accepteert het ps commando verschillende soorten opties:

  • UNIX-stijlopties, voorafgegaan door een enkel streepje. BSD-stijlopties, gebruikt zonder een streepje. Lange GNU-opties, voorafgegaan door twee streepjes.

Verschillende optietypen kunnen worden gemengd, maar in sommige specifieke gevallen kunnen conflicten optreden, dus het is het beste om bij een optietype te blijven.

BSD- en UNIX-opties kunnen worden gegroepeerd.

In zijn eenvoudigste vorm zal ps bij gebruik zonder enige optie vier kolommen met informatie afdrukken voor minimaal twee processen die in de huidige shell worden uitgevoerd, de shell zelf, en de processen die in de shell werden uitgevoerd toen de opdracht werd aangeroepen.

ps

De uitvoer bevat informatie over de shell ( bash ) en het proces dat in deze shell wordt uitgevoerd ( ps , de opdracht die u hebt getypt):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

De vier kolommen hebben het label PID , TTY , TIME en CMD .

  • PID - De proces-ID. Gewoonlijk is de PID-opdracht de belangrijkste informatie wanneer de ps opdracht wordt uitgevoerd. Als u de PID kent, kunt u een defect proces beëindigen. TTY - De naam van de controlerende terminal voor het proces. TIME - De cumulatieve CPU-tijd van het proces, weergegeven in minuten en seconden. CMD - De naam van de opdracht die is gebruikt om het proces te starten.

De bovenstaande output is niet erg handig omdat deze niet veel informatie bevat. De echte kracht van het ps commando komt wanneer het wordt gestart met extra opties.

De opdracht ps accepteert een groot aantal opties die kunnen worden gebruikt om een ​​specifieke groep processen en verschillende informatie over het proces weer te geven, maar bij het dagelijks gebruik is slechts een handvol nodig.

ps wordt het meest gebruikt met de volgende combinatie van opties:

BSD-formulier:

ps aux

  • De optie a vertelt ps om de processen van alle gebruikers weer te geven. Alleen de processen die niet zijn gekoppeld aan een terminal en processen van groepsleiders worden niet getoond. u staat voor een gebruikersgericht formaat dat gedetailleerde informatie over de processen biedt. De x optie instrueert ps om de processen te vermelden zonder een controlerende terminal. Dit zijn voornamelijk processen die tijdens het opstarten worden gestart en op de achtergrond worden uitgevoerd.

De opdracht geeft informatie weer in elf kolommen met het label USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME en CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

We hebben PID , TTY , TIME en CMD labels al uitgelegd. Hier is een uitleg van andere labels:

  • USER - De gebruiker die het proces uitvoert. %CPU - Het CPU-gebruik van het proces. %MEM - Het percentage van de residente ingestelde grootte van het proces ten opzichte van het fysieke geheugen op de machine. VSZ - Virtuele geheugengrootte van het proces in KiB. RSS - De grootte van het fysieke geheugen dat het proces gebruikt. STAT - De processtatuscode, zoals Z (zombie), S (slapen) en R (actief). START - Het tijdstip waarop het commando is gestart.

De f optie vertelt ps om een ​​boomstructuur van ouder tot kind-processen weer te geven:

ps auxf

Met de opdracht ps kunt u ook de uitvoer sorteren. Als u bijvoorbeeld de uitvoer wilt sorteren op basis van het geheugengebruik, gebruikt u:

ps aux --sort=-%mem

UNIX-formulier:

ps -ef

  • Met de optie -e wordt ps geïnstrueerd om alle processen weer te geven. De -f staat op volledige indeling, met gedetailleerde informatie over de processen.

De opdracht geeft informatie weer in acht kolommen met het label UID , PID , PPID , C , STIME , TIME en CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

De labels die nog niet zijn uitgelegd, hebben de volgende betekenis:

  • UID - Hetzelfde als USER , de gebruiker die het proces uitvoert. PPID - De ID van het bovenliggende proces. C - Hetzelfde als %CPU , het proces CPU-gebruik. STIME - Hetzelfde als START , het tijdstip waarop het commando startte.

Als u alleen de processen wilt bekijken die als een specifieke gebruiker worden uitgevoerd, typt u de volgende opdracht, waarbij linuxize de naam van de gebruiker is:

ps -f -U linuxize -u linuxize

Door de gebruiker gedefinieerd formaat

Met de optie o kunt u opgeven welke kolommen worden weergegeven bij het uitvoeren van de opdracht ps .

Als u bijvoorbeeld alleen informatie over de PID en COMMAND wilt afdrukken, voert u een van de volgende opdrachten uit:

ps -efo pid, comm

ps auxo pid, comm

ps met andere opdrachten

ps kan worden gebruikt in combinatie met andere opdrachten via leidingen.

ps -ef | less

De uitvoer van het ps commando kan worden gefilterd met grep . Als u bijvoorbeeld alleen het proces wilt weergeven dat hoort bij de rootgebruiker die u zou uitvoeren:

ps -ef | grep root

Conclusie

Het ps commando is een van de meest gebruikte commando's bij het oplossen van problemen op Linux-systemen. Het heeft veel opties, maar meestal gebruiken de meeste gebruikers ps aux of ps -ef om informatie te verzamelen over lopende processen.

Typ man ps in uw terminal voor meer informatie over ps .

ps terminal