Android

Ps-kommando i linux (listprocesser)

12.Linux для Начинающих - Процессы и Память: top, free, ps

12.Linux для Начинающих - Процессы и Память: top, free, ps

Innehållsförteckning:

Anonim

I Linux kallas en löpande instans av ett program process. Ibland, när du arbetar på en Linux-maskin, kan du behöva ta reda på vilka processer som för närvarande körs.

Det finns många kommandon som du kan använda för att hitta information om processerna, med ps , pstree och top som de mest använda.

Den här artikeln förklarar hur man använder ps kommandot för att lista de processer som för närvarande körs och visa information om dessa processer.

Hur man använder ps Command

Den allmänna syntaxen för ps kommandot är följande:

ps

Av historiska och kompatibla skäl accepterar ps kommandot flera olika typer av alternativ:

  • UNIX-stilalternativ, föregås av en enda streck.BSD-stilalternativ, används utan bindestreck.GNU långa alternativ, föregås av två streck.

Olika alternativstyper kan blandas, men i vissa fall kan konflikter uppstå, så det är bäst att hålla sig till en alternativtyp.

BSD- och UNIX-alternativ kan grupperas.

I sin enklaste form kommer ps att skriva ut fyra kolumner med information för minst två processer som körs i det aktuella skalet, själva skalet och de processer som körs i skalet när kommandot anropades, när det används utan något alternativ.

ps

Utgången innehåller information om skalet ( bash ) och processen som körs i detta skal ( ps , kommandot som du skrev):

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

De fyra kolumnerna är märkta PID , TTY , TIME och CMD .

  • PID - Process-ID. Vanligtvis, när du kör ps kommandot, är den viktigaste informationen som användaren letar efter processen PID. Genom att känna till PID kan du döda en felaktig process. TTY - Namnet på kontrollterminalen för processen. TIME - Den ackumulerade CPU-tiden för processen, visas i minuter och sekunder. CMD - Namnet på kommandot som användes för att starta processen.

Utgången ovan är inte särskilt användbar eftersom den inte innehåller mycket information. Den verkliga kraften i ps kommandot kommer när den startas med ytterligare alternativ.

ps kommandot accepterar ett stort antal alternativ som kan användas för att visa en specifik grupp av processer och annan information om processen, men endast en handfull behövs i den dagliga användningen.

ps används oftast med följande kombination av alternativ:

BSD-formulär:

ps aux

  • Alternativet säger ps att visa alla användares processer. Endast de processer som inte är associerade med en terminal och processer från gruppledare visas inte. u står för ett användarorienterat format som ger detaljerad information om processerna. Alternativet x instruerar ps att lista processerna utan en kontrollterminal. Det är främst processer som startas vid starttid och körs i bakgrunden.

Kommandot visar information i elva kolumner märkta USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME och 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…

Vi har redan förklarat PID , TTY , TIME och CMD etiketter. Här är en förklaring av andra etiketter:

  • USER - Användaren som kör processen. %CPU - Processen för processen. %MEM - Procentandelen av processens bosatta inställda storlek på det fysiska minnet på maskinen. VSZ - Virtuellt minnesstorlek för processen i KiB. RSS - Storleken på det fysiska minnet som processen använder. STAT - Processstatskoden, som Z (zombie), S (sover) och R (kör). START - Tiden när kommandot startade.

Alternativet f säger ps att visa en trädvy av föräldrar till barn-processer:

ps auxf

Med ps kommandot kan du också sortera utgången. Till exempel, för att sortera utdata baserat på minnesanvändningen, skulle du använda:

ps aux --sort=-%mem

UNIX-form:

ps -ef

  • Alternativet -e instruerar ps att visa alla processer. -f står i fullformatlista, som ger detaljerad information om processerna.

Kommandot visar information i åtta kolumner märkta UID , PID , PPID , C , STIME , TIME och 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…

Etiketter som inte redan har förklarats har följande betydelse:

  • UID - Samma som USER , användaren som kör processen. PPID - ID för överordnad process. C - Samma som %CPU , process CPU-användningen. STIME - Samma som START , den tid då kommandot startade.

Om du bara linuxize se de processer som körs som en specifik användare skriver du följande kommando, där linuxize är användarens namn:

ps -f -U linuxize -u linuxize

Användardefinierat format

Alternativet o låter dig ange vilka kolumner som ska visas när du kör ps kommandot.

Om du till exempel bara COMMAND skriva ut information om PID och COMMAND kör du en av följande kommandon:

ps -efo pid, comm

ps auxo pid, comm

Använda ps med andra kommandon

ps kan användas i kombination med andra kommandon genom piping.

ps -ef | less

Utgången från ps kommandot kan filtreras med grep . För att bara visa processen som tillhör rotanvändaren skulle du till exempel köra:

ps -ef | grep root

Slutsats

ps kommandot är ett av de mest använda kommandona vid felsökning av problem på Linux-system. Det har många alternativ, men vanligtvis använder de flesta användare antingen ps aux eller ps -ef att samla information om körprocesser.

För mer information om ps , skriv man ps i din terminal.

ps terminal