Skip to main content

Voorbeeldgebruik van de Linux ps Command

Como crear un Script de mantenimiento en Linux (Juni- 2026)

Como crear un Script de mantenimiento en Linux (Juni- 2026)
Anonim

De ps opdracht geeft een lijst met de momenteel actieve processen op uw computer. Deze gids zal je de meer algemene gebruiken van de ps-opdracht laten zien, zodat je er het maximale uit kunt halen.

De ps commando wordt vaak gebruikt in combinatie met de grep commando en de meer of minder commando's.

Deze extra opdrachten helpen bij het filteren en pagineren van de uitvoer van ps wat vaak behoorlijk lang kan zijn.

Hoe de ps-opdracht te gebruiken

Op zichzelf, de ps commando toont de lopende processen door de gebruiker die het uitvoert binnen een terminalvenster. Roepen ps typ gewoon het volgende:

ps

De uitvoer toont rijen met gegevens die de volgende informatie bevatten:

  • PID
  • TTY
  • Tijd
  • Commando

De PID is de proces-ID die het lopende proces identificeert. De TTY is het terminaltype.

Op zichzelf, de ps commando is vrij beperkt. U wilt waarschijnlijk alle actieve processen zien. Als u alle actieve processen wilt weergeven, gebruikt u een van de volgende opdrachten:

ps - A

ps -e

Als u alle processen wilt weergeven, met uitzondering van sessieleiders, voert u de volgende opdracht uit:

ps -d

Dus wat is een sessieleider? Wanneer een proces andere processen start, is het de sessieleider van alle andere processen. Dus stel je het proces voor EEN start proces B en verwerken C . Werkwijze B start proces D en verwerken C start proces E . Wanneer u alle processen opslaat behalve sessieleiders, ziet u B, C, D en E maar niet EEN .

U kunt alle selecties die u hebt gekozen negeren met behulp van de -N schakelaar. Als u bijvoorbeeld alleen de sessieleiders wilt zien, voert u de volgende opdracht uit:

ps -d -N

Uiteraard de -N is niet erg verstandig in combinatie met de -e of -EEN schakelt over omdat het helemaal niets laat zien.

Als u alleen de processen wilt zien die aan deze terminal zijn gekoppeld, voert u de volgende opdracht uit:

ps T

Als u alle lopende processen wilt zien met behulp van de volgende opdracht:

ps r

Specifieke processen selecteren met de ps-opdracht

U kunt specifieke processen retourneren met behulp van de ps opdracht en er zijn verschillende manieren om de selectiecriteria te wijzigen.

Als u bijvoorbeeld de proces-id kent, kunt u eenvoudig de volgende opdracht gebruiken:

ps -p

U kunt meerdere processen selecteren door meerdere proces-id's als volgt op te geven:

ps -p "1234 9778"

U kunt ze ook opgeven met behulp van een door komma's gescheiden lijst:

ps-p 1234.9778

De kans is groot dat u de proces-ID niet kent en dat het gemakkelijker is om op commando te zoeken. Gebruik hiervoor de volgende opdracht:

ps -C

Als u bijvoorbeeld wilt zien of Chrome actief is, kunt u de volgende opdracht gebruiken:

ps -C chroom

Je zult verbaasd zijn om te zien dat dit één proces retourneert voor elk geopend tabblad.

Andere manieren om resultaten te filteren, is per groep. U kunt op groepsnaam zoeken met behulp van de volgende syntaxis:

ps -G ps - Groep

Als u bijvoorbeeld wilt weten welke processen worden uitgevoerd door de accountgroep, typt u het volgende:

ps -G "accounts" ps --Groep "accounts"

Je kunt ook zoeken op groeps-ID in plaats van groepsnaam door een kleine letter "g" als volgt te gebruiken:

ps -g ps --group

Als u wilt zoeken op basis van een lijst met sessie-ID's, gebruikt u de volgende opdracht:

ps -s

U kunt ook het volgende gebruiken om te zoeken op terminaltype.

ps -t

Als u alle processen wilt vinden die door een specifieke gebruiker worden uitgevoerd, probeert u de volgende opdracht:

ps U

Bijvoorbeeld om alle processen te vinden die worden uitgevoerd Gary voer het volgende uit:

ps U "gary"

Merk op dat dit de persoon toont wiens inloggegevens worden gebruikt om de opdracht uit te voeren. Bijvoorbeeld, als u in bent zoals Gary en voer de bovenstaande opdracht uit, het toont alle commando's die door jou worden uitgevoerd.

Als u zich aanmeldt als Tom en gebruiken sudo om een ​​commando uit te voeren, zal de bovenstaande opdracht getoond worden Tom's commando als gerund door Gary en niet Tom .

Om de lijst te beperken tot alleen de processen die echt worden uitgevoerd Gary gebruik de volgende opdracht:

ps -U "gary"

Formatteren van ps Opdrachtuitvoer

Standaard krijgt u dezelfde vier kolommen als u de ps commando:

  • PID
  • TTY
  • Tijd
  • Commando

U kunt een volledige lijst krijgen door de volgende opdracht uit te voeren:

ps -ef

De -e, zoals je weet, toont alle processen en de f of -f toont de volledige details.

De teruggezonden kolommen zijn als volgt:

  • gebruikersnaam
  • PID
  • PPID
  • C
  • STIME
  • TTY
  • Tijd
  • Commando

De gebruikers-ID is de persoon die de opdracht heeft uitgevoerd. De PID is de proces-ID van het commando de opdracht. De PPID is het bovenliggende proces dat de opdracht heeft gestart.

De C kolom toont het aantal kinderen dat een proces heeft. De STime is de starttijd voor het proces. De TTY is de terminal, de tijd is de hoeveelheid tijd die nodig was om uit te voeren en opdracht is de opdracht die werd uitgevoerd.

U kunt nog meer kolommen krijgen met behulp van de volgende opdracht:

ps -eF

Dit levert de volgende kolommen op:

  • UID
  • PID
  • PPID
  • C
  • SZ
  • RSS
  • PSR
  • STIME
  • TTY
  • Tijd
  • Commando

De extra kolommen zijn SZ, RSS en PSR.SZ is de grootte van het proces, RSS is de echte geheugengrootte en PSR is de processor waaraan het commando is toegewezen.

U kunt een door de gebruiker gedefinieerde indeling opgeven met de volgende schakeloptie:

ps -e - format

De beschikbare indelingen zijn als volgt:

  • %processor: CPU-gebruik
  • % mem: Geheugenpercentage gebruik
  • args: De opdracht met al zijn argumenten
  • c: Processorbezetting
  • cmd: Het bevel
  • comm: Alleen de opdrachtnaam
  • cp: CPU gebruik
  • cputime: CPU-tijd
  • egid: Effectieve groeps-ID
  • egroup: Effectieve groep
  • Etime: Verstreken tijd
  • euid: Effectieve gebruikers-ID
  • Euser: Effectieve gebruiker
  • gid: Groeps-ID
  • groep: Groepsnaam
  • PGID: Verwerkingsgroep-ID
  • pgrp: Procesgroep
  • PPID: Parent Process ID
  • begin: Tijd waarop het proces is gestart
  • sz: Grootte op fysieke pagina's
  • thcount: Threads die eigendom zijn van het proces
  • tijd: Cumulatieve tijd
  • uid: Gebruikersnaam
  • je naam: Gebruikersnaam

Er zijn veel meer opties, maar dit zijn de meest gebruikte.

Om de formaten te gebruiken, typt u het volgende:

ps -e --format = "uid uname cmd time"

Je kunt de items mixen en matchen zoals je wilt.

Uitvoer sorteren

Gebruik de volgende notatie om de uitvoer te sorteren:

ps -ef --sort

De keuze van sorteeropties is als volgt:

  • cmd: Uitvoerbare naam
  • PCPU: CPU-gebruik
  • vlaggen: Vlaggen
  • pgrp: Verwerkingsgroep-ID
  • cutime: Cumulatieve gebruikerstijd
  • cstime: Cumulatieve systeemtijd
  • utime: Gebruikstijd
  • pid: Proces-ID
  • PPID: Ouderproces-ID
  • grootte: Grootte
  • uid: Gebruikersnaam
  • gebruiker: Gebruikersnaam

Nogmaals, er zijn meer opties beschikbaar, maar dit zijn de meest voorkomende.

Een voorbeeld soort opdracht is als volgt:

ps -ef --sort gebruiker, pid

Ps gebruiken Met grep, minder en meer opdrachten

Zoals vermeld aan het begin is het gebruikelijk om te gebruiken ps met de grep, minder en meer commando's.

De minder en meer Met opdrachten kunt u de resultaten op één pagina tegelijk doorlopen. Om deze commando's te gebruiken, hoeft u alleen maar de uitvoer te pipen grep in hen als volgt:

ps -ef | meer ps -ef | minder

De grep commando helpt u de resultaten van de filter te filteren ps commando.

Bijvoorbeeld:

ps -ef | grep chrome

Samenvatting

De ps commando wordt vaak gebruikt voor het vermelden van processen binnen Linux. U kunt ook de top commando om lopende processen op een andere manier weer te geven.