Articles

ps aux command and PS command explained

Deze tutorial legt uit hoe je het ps commando in Linux kunt gebruiken. Het geeft ook 10 + praktische voorbeelden van het ps-commando. Lees hoe u de uitvoer van de opdracht ps aux in detail kunt lezen.

een korte introductie van het ps commando

het PS (process status) commando is een van de meest gebruikte commando ‘ s in Linux. Meestal wordt het gebruikt om de meer en gedetailleerde informatie over een specifiek proces of alle processen te krijgen. Het wordt bijvoorbeeld gebruikt om te weten of een bepaald proces draait of niet, wie draait welk proces in het systeem, welk proces gebruikt hoger geheugen of CPU, hoe lang een proces draait, enz.

LAB Setup

voor de praktijk, start een aantal toepassingen en laat ze draaien. Schakel het gebruikersaccount en herhaal hetzelfde proces.

lab setup for the practice of PS command

stel nu dat je een systeembeheerder bent en als systeembeheerder wil je weten wat er gaande is in het systeem.In dit geval kunt u het ps-commando gebruiken om de benodigde informatie te verkrijgen.

met het ps-commando

open terminal en voer het ps-commando

ps-commando uit zonder optie en argument

zonder optie en argument toont het ps-commando alleen het proces dat wordt uitgevoerd onder het ingelogde gebruikersaccount van de huidige terminal.

je vraagt je misschien af waarom het ps commando twee processen laat zien terwijl we tot nu toe geen proces hebben uitgevoerd vanaf deze terminal.

Well … eerste proces toont het proces waaronder deze terminal wordt geopend. Dit proces blijft open, totdat de terminal wordt geopend.

tweede proces toont het laatst uitgevoerde commando in deze terminal.

opties specificeren met het ps-commando

het ps-commando accepteert opties in drie stijlen.

BSD UNIX style : – in deze stijl worden opties geleverd zonder leading dash (zoals “aux”).

AT & T Unix style: – in deze stijl worden opties geleverd met een voorloopstreepje (zoals”- aux”).

GNU Linux style: – in deze stijl worden opties geleverd met dubbele voorloopstreepjes (zoals “–sort”).

hoewel het ps commando opties in de mix stijl accepteert, moet je altijd maar één stijl gebruiken om de opties op te geven.

basisvoorbeelden van het ps-commando

om alle lopende processen in het systeem af te drukken, gebruikt u een van de volgende commando ‘ s.

$ps –A$ps -e

PS-A en PS-e commando ' s

De Opties A en e geven een beknopt overzicht van het uitvoeren processes.To print het gedetailleerde overzicht, gebruik de opties f (full format) en F (extra full format) met deze opties.

ps-ef en PS-af commando 's

om dezelfde uitvoer in BSD Unix stijl weer te geven, gebruikt u de opties”aux”.

ps aux Commando

het “ps aux” commando is het meest gebruikte commando door Linux beheerders. Voordat we naar het volgende voorbeeld gaan, laten we de opties die in dit commando worden gebruikt in detail begrijpen.

ps aux commando opties

a: – Deze optie drukt de lopende processen van alle gebruikers af.

u: – deze optie toont de kolom gebruiker of eigenaar in de uitvoer.

x:- Deze optie drukt de processen af die niet zijn uitgevoerd vanuit de terminal.

gezamenlijk printen de opties ” aux ” alle lopende processen in het systeem, ongeacht waar ze zijn uitgevoerd.

the ps aux command output description column by column
kolom Description
gebruiker het gebruikersaccount waaronder dit proces wordt uitgevoerd PID proces-ID van dit proces
%CPU CPU tijd gebruikt door dit proces (in percentage).
% MEM fysiek geheugen dat door dit proces wordt gebruikt (in percentage).
VSZ virtueel geheugen dat door dit proces wordt gebruikt (in bytes).
RSS Resident Set Size, het niet-swappable fysieke geheugen dat wordt gebruikt door dit proces (in KiB)
TTY Terminal van waaruit dit proces wordt gestart. Vraagteken (?) teken geeft aan dat dit proces niet wordt gestart vanuit een terminal.
Stat processtatus. Uitgelegd in de volgende tabel.
BEGIN Start-tijd en datum van dit proces
TIJD Totale CPU-tijd gebruikt door dit proces
COMMANDO De opdracht met alle argumenten die begon dit proces
ps-aux-stat-code met omschrijving
D uninterruptible slapen (meestal IO)
R uitvoeren of runnable (op de run queue)
S onderbreekbare slapen (het wachten op een event te voltooien)
T gestopt door job control signal
t gestopt door debugger tijdens het traceren
w paging (niet geldig sinds de 2.6.xx kernel)
x dood (mag nooit gezien worden)
Z opgeheven (“zombie”) – proces, beëindigd wordt, maar niet geoogst door de bovenliggende
< hoge prioriteit (niet leuk voor andere gebruikers)
N lage prioriteit (leuk voor andere gebruikers)
L pagina ‘ s vast in het geheugen (voor real-time en op maat IO)
s is een sessie-leider
l multi-threaded (met behulp van CLONE_THREAD, zoals NPTL pthreads doen)
+ is in de foreground process group
belangrijke punten
  • het CPU-gebruik wordt uitgedrukt als het percentage van de tijd dat gedurende de gehele levensduur van een proces wordt gebruikt.
  • de velden grootte en RSS tellen niet mee voor sommige delen van een proces, waaronder de paginatabellen, kernel stack, struct thread_info en struct task_struct.
  • grootte is de virtuele grootte van het proces (code+data+stack).
  • processen gemarkeerd met <ter dood gebracht> zijn dode processen (zogenaamde” zombies”) die overblijven omdat hun ouder ze niet correct heeft vernietigd.
  • als de lengte van de gebruikersnaam groter is dan de lengte van de kolom, wordt de gebruikersnaam afgekapt.

10 + praktische voorbeelden van het ps-commando

om alle processen weer te geven die onder het root-gebruikersaccount worden uitgevoerd, gebruikt u het volgende commando.

$ps -U root -u root

In dit commando:-

-U: – selecteer het proces op basis van echte gebruikers-ID of naam.

– u: – selecteer het proces op basis van effectieve gebruikers-ID of naam.

RUID (Real User ID) vertegenwoordigt de naam van de gebruiker, terwijl EUID (Effective User ID) de gebruiker beschrijft wiens bestandstoegangsrechten door het proces worden gebruikt.

PS-u-u Commando

om alle processen weer te geven die door een specifiek gebruikersaccount worden uitgevoerd, gebruikt u het volgende commando.

$ps –U –u 

ps commando Toon alle processen die onder een enkele gebruikersaccount draaien

om alle processen die onder een bepaalde groep draaien weer te geven, gebruik je het volgende commando.

$ps –G 

voor een gedetailleerd overzicht kunnen we de optie –G ook combineren met de optie –F.

$ps –FG 

om alle processen in de hiërarchie weer te geven, kunnen we het volgende commando gebruiken.

$ps –A --forest

PS-a --forest

alleen specifieke kolom

standaard toont het ps-commando alle kolommen. Als we alleen geïnteresseerd zijn in bepaalde kolommen,kunnen we de uitvoer beperken door de vereiste kolomnamen als argumenten op te geven.

bijvoorbeeld, om alleen PID -, gebruiker-en CMD-kolommen te bekijken, kunnen we het volgende commando gebruiken.

$ps –eo pid,user,cmd

PS bekijken beperkte kolom

het proces vinden dat het hoogste geheugen gebruikt

standaard sorteert het ps-commando de uitvoer niet. Door sorteervolgorde in te stellen op % MEM, kunnen we de processen vinden die hogere herinneringen verbruiken.

om de sorteervolgorde in te stellen, wordt de optie –sort= gebruikt. We kunnen deze optie ook combineren met andere opties om de meer specifieke uitvoer te krijgen.

laten we bijvoorbeeld alleen de specifieke velden weergeven en ze ordenen op geheugengebruik.

$ps –eo pid,user,%mem,cmd --sort=-%mem

PS-uitvoer Sorteer op geheugengebruik

begrenzende uitvoer

standaard beperkt het ps-commando het resultaat niet in uitvoer.Als we alleen geïnteresseerd zijn in het kennen van de top drie processen die het hoogste geheugen verbruiken,in plaats van het weergeven van de uitvoer van het ps commando in terminal kunnen we het omleiden naar het head Commando.

standaard toont het head commando top 10 regels van de opgegeven bron.We kunnen dit standaardgedrag overschrijven door de vereiste regelnummers op te geven.

om alleen de top drie processen weer te geven, kunnen we de optie “-n 4” gebruiken met het head Commando.

PS limiting output

voor 3 Resultaten, geef het cijfer 4 als argument. Net als in de uitvoer van het ps-commando wordt de eerste regel bezet door de titels.

het proces vinden dat de hoogste CPU gebruikt

net zoals we de hoogste geheugenverslindende processen hebben uitgezocht,kunnen we ook de hoogste PROCESSORVERSLINDENDE processen vinden door de uitvoer te sorteren op basis van de CPU-kolom.Bijvoorbeeld het volgende commando print top 3 processen geordend door CPU-gebruik.

$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4

PS-uitvoer Sorteer op cpu-gebruik

zoeken naar het totale aantal processen dat door een gebruiker wordt uitgevoerd

om het totale aantal processen dat door een gebruiker wordt uitgevoerd te berekenen, gebruik het volgende commando

$ps –U –u | wc –l