I Linux kallas en programinstans 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 ett antal kommandon som du kan använda för att hitta information om de körande processerna, med ps
, pstree
och top
är de mest använda.
Detta artikeln förklarar hur man använder kommandot ps
för att lista de aktuella processerna och visa information om dessa processer.
Hur man använder ps-kommando #
Den allmänna syntaxen för ps
-kommandot är som följer:
Av historiska skäl och kompatibilitetsskäl accepterar ps
kommandot flera olika typer av alternativ:
- UNIX-stilalternativ, föregånget av ett enda streck.
- BSD-stilalternativ, används utan bindestreck.
- GNU långa alternativ, föregås av två streck.
Olika alternativtyper ca n vara blandad, men i vissa specifika fall kan konflikter förekomma, så det är bäst att hålla sig till en alternativtyp.
Alternativ för BSD och UNIX kan grupperas.
Det är enklast när det används utan något alternativ 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 kommandot anropades.
Utgången innehåller information om skalet (bash
) och processen som körs i detta skal (ps
, kommandot som du skrev):
De fyra kolumnerna är märkta PID
, TTY
, TIME
och CMD
.
-
PID
– Process-ID. När kommandotps
körs är den viktigaste informationen som användaren letar efter vanligtvis processen PID. Att känna till PID gör att du kan döda en felaktig process. -
TTY
– Namnet på den styrande terminalen för processen. -
TIME
– Processens kumulativa CPU-tid, visas i minuter och sekunder. -
CMD
– Namnet på kommandot som användes för att starta processen.
Utdata ovan är inte särskilt användbar eftersom den inte innehåller mycket information. Den verkliga kraften i kommandot ps
kommer när den startas med ytterligare alternativ.
Kommandot ps
accepterar ett stort antal av alternativ som kan användas för att visa en specifik grupp av processer och annan information om processen, men bara en handfull behövs för den dagliga användningen.
ps
används oftast med följande kombination av alternativ:
BSD-form:
-
a
alternativet säger tillps
att visa alla användares processer. Endast de processer som inte är associerade med en terminal och processer för gruppledare visas inte. -
u
står för ett användarorienterat format som ger detaljerad information om processer. - Alternativet
x
instruerarps
att lista processerna utan en kontrollterminal. Det är främst processer som startas vid starttiden 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
.
Vi har redan förklarat PID
, TTY
, TIME
och CMD
. Här är en förklaring av andra etiketter:
-
USER
– Användaren som kör processen. -
%CPU
– CPU-utnyttjandet av processen. -
%MEM
– Procentandelen av processens hemviststorlek till det fysiska minnet på maskinen . -
VSZ
– Processens virtuella minnesstorlek i KiB. -
RSS
– Storleken på det fysiska minnet som processen använder. -
STAT
– Processstatuskoden, t.ex.Z
(zombie),S
(sovande) ochR
(igång). -
START
– Den tid då kommandot startade.
Alternativet f
säger till ps
att visa en trädvy av föräldrar till barnprocesser:
Med kommandot ps
kan du också sortera utdata. För att till exempel sortera utdata baserat på minnesanvändning använder du:
UNIX-form:
- Alternativet
-e
instruerarps
att visa alla processer. -
-f
står i fullformatslista, som ger detaljerad information om processerna.
Kommandot visar information i åtta kolumner märkta UID
, PID
, PPID
, C
, STIME
, TIME
och CMD
.
Etiketterna som inte redan har förklarats har följande betydelse:
-
UID
– Samma somUSER
, användaren som kör processen. -
PPID
– ID för moderprocessen. -
C
– Sam e som%CPU
, processens CPU-användning. -
STIME
– Samma somSTART
, tiden då kommandot startade.
Om du bara vill se de processer som körs som en specifik användare skriver du följande kommando där linuxize
är användarens namn:
Användardefinierat format #
o
alternativet låter dig ange vilka kolumner som ska visas när kommandot ps
körs.
Till exempel för att bara skriva ut information om PID
och COMMAND
, skulle du köra något av följande kommandon:
Använda ps med andra kommandon #
ps
kan användas i kombination med andra kommandon via piping.
Om du vill visa utdata från kommandot ps
, en sida i taget rör det till kommandot less
:
Utgången för ps
-kommandot kan filtreras med grep
. Till exempel, för att endast visa den process som tillhör rotanvändaren skulle du köra:
Slutsats #
ps
-kommandot är en 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
för att samla information om pågående processer.
För mer information om ps
, skriv man ps
i din terminal.