Hoe Gebruik je het ps Commando om te Controleren Linux Processen

0
931
Fatmawati Achmad Zaenuri/Shutterstock

Een momentopname van de processen die in uw Linux-computer met het ps commando. Zoek processen door naam, gebruiker, of zelfs terminal met zo veel of zo weinig detail in als u nodig hebt. Wij laten u zien hoe.

Proces Beheer op Linux

Het kloppend hart van alle Linux-en Unix-achtige operating systemen is de kernel. Onder de vele verantwoordelijkheden is de toekenning van de systeembronnen zoals de RAM en de CPU-tijd. Deze hebben te gejongleerd worden in real-time, zodat alle lopende processen te krijgen hun deel, volgens de prioriteit van elke taak.

Soms taken kunnen lock-up, of voer een strakke lus, of reageert voor andere redenen. Of ze kunnen blijven draaien, maar vreet te veel CPU-tijd of de RAM, of zich gedragen in een aantal even anti-sociale manier. Soms taken moeten worden gedood als een genade voor iedereen die betrokken is. De eerste stap. Natuurlijk is de identificatie van het proces in kwestie.

Maar misschien heb je niet een taak of performance problemen op alle. Misschien bent u gewoon nieuwsgierig over welke processen worden uitgevoerd aan de binnenkant van uw computer, en u zou graag een kijkje nemen onder de motorkap. Het ps commando voldoet aan beide van deze wensen. Het geeft een overzicht van wat er aan de binnenkant van uw computer “en nu”.

ps is flexibel genoeg zijn om u precies de informatie die u nodig heeft precies het formaat dat u wilt het. In feite, ps heeft een groot aantal opties. De opties die hier worden beschreven zullen de catering voor de meest voorkomende noden. Als u nodig hebt om te gaan dieper in ps dan hebben wij het in dit artikel, zult u merken dat onze inleiding maakt de man pagina makkelijker te verteren.

Lijst Van Processen

De makkelijkste manier om het gebruik van ps is om vuur met geen parameters:

ps

ps geeft een lijst van de processen die opgestart worden door de gebruiker die het commando uitvoerde.

De vier kolommen zijn:

  • PID: De proces-ID van het proces.
  • TTY: De naam van de console dat de gebruiker is aangemeld bij.
  • TIJD: Het bedrag van de CPU-verwerking tijd dat het proces is gebruikt.
  • CMD: De naam van de opdracht die het begin van het proces

Aanbieding Proces voor Alle Gebruikers

door het toevoegen van de -e (selecteer alle processen), kunnen we de ps-lijst van de processen die gestart worden door alle gebruikers, niet alleen de gebruiker die het runnen van het ps commando. Omdat dit gaat om een lange lijst, we zijn de leidingen in minder.

ps -e | minder

De proces lijst is doorgesluisd naar minder.

We hebben nog veel meer items in de lijst, maar zien we dezelfde vier kolommen zoals voorheen. De items met een vraagteken ? in de TTY-kolom werden niet gestart vanuit een terminal venster.

Het Tonen Van Het Proces Hiërarchie

Soms kan het helpen om erachter te komen voor een probleem of het identificeren van een bepaald proces, als je kunt zien welke processen gelanceerd andere processen. We maken gebruik van de -H (hiërarchie) optie om dat te doen.

ps -eH | minder

De inkeping geeft aan welke processen zijn de ouders van die andere processen.

Voor het toevoegen van een beetje meer duidelijkheid, we kunnen vragen aan ps voor het toevoegen van sommige ASCII-lijnen en tot het opstellen van de hiërarchie als een boom. De optie om dit te doen is de optie forest.

ps -eH –bos | minder

Dit maakt het makkelijker om bij te houden welke processen zijn de ouders van de andere processen.

Lijst van Processen door Naam

U kunt pijp is de uitvoer van ps door middel van grep vermeldingen in de lijst met namen die overeenkomen met de zoekterm. Hier zijn we op zoek naar items die overeenkomen met de “firefox” zoekterm:

ps -e | grep firefox

In dit geval is de output is een single entry voor het proces dat we zijn geïnteresseerd. Natuurlijk, als we zouden met een aantal instantiaties van Firefox, dan zou er meer dan één item terug in de lijst.

Door het weergeven van Meer Kolommen in de Output

Voor meer kolommen toevoegen aan de output, gebruik je de-f (full-formaat) optie.

ps -ef | minder

Een extra set kolommen zijn opgenomen in de output van ps.

De kolommen zijn:

  • UID: De gebruikers-ID van de eigenaar van dit proces.
  • PID: De proces-ID van het proces.
  • PPID: Parent process ID van het proces.
  • C: Het aantal kinderen in het proces heeft.
  • STIME: Start-tijd. De tijd wanneer het proces is begonnen.
  • TTY: De naam van de console dat de gebruiker is aangemeld bij.
  • TIJD: Het bedrag van de CPU-verwerking tijd dat het proces is gebruikt.
  • CMD: De naam van de opdracht die het begin van het proces.

Met behulp van de-F (extra full-formaat) optie kunnen we nog meer kolommen:

ps -eF | minder

De kolommen krijgen we deze tijd moet het scherm worden verschoven zijwaarts te onthullen ze allemaal.

Door op de toets “Pijl Rechts” toets verandert het display naar links.

De kolommen krijgen we nu zijn:

  • UID: De gebruikers-ID van de eigenaar van dit proces.
  • PID: De proces-ID van het proces.
  • PPID: Parent process ID van het proces.
  • C: Het aantal kinderen in het proces heeft.
  • SZ: Grootte in het RAM-geheugen pagina ‘ s van de afbeelding.
  • RSS: Resident ingestelde grootte. Dit is de niet-verwisseld fysieke geheugen dat wordt gebruikt door het proces.
  • PSR: De processor die het proces wordt toegewezen.
  • STIME: Start-tijd. De tijd wanneer het proces is begonnen.
  • TTY: De naam van de console dat de gebruiker is aangemeld bij.
  • TIJD: Het bedrag van de CPU-verwerking tijd dat het proces is gebruikt.
  • CMD: De naam van de opdracht die het begin van het proces.

Lijst van Processen door Proces-ID

Als je eenmaal hebt gevonden de proces-ID voor het proces waarin u geïnteresseerd bent, kunt u deze gebruiken met de ps de opdracht om de details van dat proces. Gebruik de -p (selecteer op proces-ID) optie om dit te bereiken:

ps -p 3403

De gegevens voor dit proces worden vermeld:

U bent niet beperkt tot één proces-ID. U kunt een lijst van proces-Id ‘ s, gescheiden door spaties.

Lijst van Processen door het Commando

De -C (opdracht) optie kunt u zoeken naar een proces met de naam van de opdracht. Dat is de naam van de opdracht die het begin van het proces. Dit is enigszins anders, vanaf de opdrachtregel, waaronder pad namen en parameters of opties.

ps -C sluiter

De details voor de sluiter proces worden vermeld.

Vermelding Processen van een Gebruiker

Om de processen die in eigendom zijn van een bepaalde gebruiker, gebruikt u de -u (gebruiker lijst) optie:

ps -u maria

De processen van de gebruiker account maria worden weergegeven.

Lijst van Processen door Terminal

Om de processen die samenhangen met een TTY, gebruik je de-t (selecteer TTY) optie. Gebruikt zonder een TTY-nummer, de -t optie rapporten over de processen die samenhangen met de huidige terminal venster.

tty
ps -t

De tty-opdracht wordt gemeld dat dit pseudo-teletype 0. De processen opgenomen door ps -t zijn allemaal in verband met TTY-pts/0.

Als we langs een TTY-nummer op de commando-regel, krijgen we een verslag van de processen die samenhangen met dat TTY.

ps -t 1

Deze keer zijn de processen die verband houden met TTY-pts/1.

GERELATEERD: Wat is een TTY op Linux? (en het Gebruik van de tty-Opdracht)

Kolommen selecteren om weer te geven

Met de -o (format) optie die u kunt selecteren welke kolommen u wilt hebben opgenomen in de output van ps. Geeft u de kolommen met de naam. De (lange) lijst van kolomnamen kan worden gezien op de man pagina in de sectie getiteld “Standaard Formaat Specificatie.” In dit voorbeeld, wij kiezen om de CPU-tijd (pcpu) en de commando-regel met argumenten (args) opgenomen in de output.

ps -e -o pcpu,args | minder

De output omvat alleen onze twee gevraagde kolommen.

Sorteer De Uitvoer op Kolommen

U kunt de uitvoer gesorteerd voor u door het gebruik van de –optie sorteren. Laten we sorteer de uitvoer op de CPU-kolom:

ps -e -o pcpu,args –sort-pcpu| minder

Het koppelteken “-” op de pcpu soort parameter geeft een aflopende sorteervolgorde.

Om te zien een van de tien meest CPU-intensieve processen, de output met een pijp door het hoofd commando:

ps -e -o pcpu,args –sort-pcpu | hoofd -10

We krijgen een gesorteerd, afgekapt lijst.

Als we meer kolommen toevoegen aan onze display, kunnen we sorteren op meerdere kolommen. Laten we voegen de pmem kolom. Dit is het percentage van het geheugen van de computer dat wordt gebruikt door het proces. Zonder koppelteken, of met een plusteken ” +”, de sorteervolgorde oplopend.

ps -e -o pcpu,pmem,args –sort-pcpu,pmem | hoofd -10

We krijgen onze extra kolom, en de nieuwe kolom is opgenomen in de sortering. De eerste kolom is gesorteerd voor de tweede kolom, en de tweede kolom in oplopende volgorde is gesorteerd, omdat wij niet zet een streepje op pmem.

Laten we het een beetje meer nuttig en toevoegen in het proces kolom ID (pid) zodat we kunnen zien of het proces van het aantal elk proces in onze lijst.

ps -e -o pid,pcpu,pmem,args –sort-pcpu,pmem | hoofd -10

Nu kunnen we ons identificeren van de processen.

Het doden van Processen door het Proces ID

We hebben al een scala van methoden voor het identificeren van processen, waaronder de naam, de opdracht, de gebruiker, en de terminal. We hebben ook besproken methoden voor het identificeren van processen door hun dynamische kenmerken, zoals CPU en geheugen.

Zo, de een of andere manier, we kunnen identificeren van de processen die worden uitgevoerd. Door het kennen van hun proces-ID, kunnen we (als we willen) het doden van elk van deze processen met de kill-opdracht. Als we wilden doden proces 898, zouden we deze indeling gebruiken:

sudo doden 898

Als alles goed gaat, wordt het proces stil beëindigd.

GERELATEERD: Hoe om te Doden Processen Van de Linux Terminal

Het doden van Processen door de Naam

De pkill commando stelt u in staat om te doden processen bij de naam. Zorg dat u hebt vastgesteld dat het juiste proces! Deze opdracht zal het beëindigen van de top-proces.

sudo pkill top

Nogmaals, geen nieuws is goed nieuws. Het proces wordt stilzwijgend beëindigd.

Het doden van Meerdere Processen op Naam

Als u meerdere exemplaren van een proces, of een proces heeft geleid tot een aantal onderliggende processen (zoals Google Chrome kunt doen), hoe kun je ze doden uit? Dat is net zo makkelijk. We maken gebruik van het killall commando.

We hebben twee kopieën van top running:

ps -e | grep top

Kunnen wij beëindigen zowel van hen met dit commando:

sudo killall top

Geen reactie betekent geen problemen, dus zowel van deze processen beëindigd.

Voor een Dynamische Weergave met top

De uitvoer van ps is een momentopname. Het niet-update. Om het bijwerken van een weergave van de processen, het gebruik van de top commando. Het biedt een dynamische weergave van de processen die in uw computer. Het scherm is in twee delen. Er is een dashboard gebied aan de bovenkant van het scherm gemaakt van regels tekst en een tabel in het onderste deel van het scherm opgebouwd uit kolommen.

Beginnen boven met dit commando:

top

De kolommen bevatten informatie over de processen:

  • PID: Proces-ID
  • GEBRUIKER: de Naam van de eigenaar van het proces
  • PR: Proces prioriteit
  • NI: De mooie waarde van het proces
  • VIRT: Virtueel geheugen wordt gebruikt door het proces
  • RES: Intern geheugen dat wordt gebruikt door het proces
  • SHR: Gedeelde geheugen wordt gebruikt door het proces
  • S: de Status van het proces. Zie de onderstaande lijst van de waarden in dit veld kunt nemen
  • %CPU: het aandeel van de CPU-tijd gebruikt door het proces dat sinds de laatste update
  • %MEM: delen van het fysieke geheugen gebruikt
  • TIJD+: totale CPU-tijd gebruikt door de taak in honderdsten van een seconde
  • OPDRACHT: naam van de opdracht of commando-regel (naam en command line parameters) Indien de opdracht kolom niet zichtbaar is, drukt u op de “Pijl naar Rechts” toets.

De status van het proces kan zijn:

  • D: Ononderbroken slaap
  • R: Het Uitvoeren Van
  • S: Slapen
  • T: Getraceerd (gestopt)
  • Z: Zombie

Druk op de “Q” – toets om af te sluiten van de top.

GERELATEERD: 37 Belangrijke Linux-Commando ‘ s die U Moet Weten

Voordat U het Doden van een Proces

Zorg ervoor dat het u na, en controleer dat het niet zal ertoe leiden dat u problemen. In het bijzonder, het is de moeite waard met de -H (hiërarchie) en –bos opties om ervoor te zorgen dat het geen belangrijke onderliggende processen dat je zou vergeten.

LEES VERDER

  • “10 Stappen naar Beter iPhone-en iPad-Beveiliging
  • “Lettertypen en Browser-Extensies van Die Hulp voor Mensen met Dyslexie Lezen op het Web
  • “Hoe Gebruik krullen om Bestanden te Downloaden Van de Linux Commando-Regel
  • “Hoe Kan ik Mijn ISP Vertel ik Gebruik BitTorrent?
  • “Het Instellen van een Smart Garage