ps
command, zkratka pro Process Status, je nástroj příkazového řádku, který se používá k zobrazení nebo zobrazení informací souvisejících s procesy běžícími v systému Linux .
Jak všichni víme, Linux je multitasking a multiprocessingový systém. Proto může více procesů běžet současně, aniž by se navzájem ovlivňovaly.
Příkaz ps uvádí aktuálně běžící procesy spolu s jejich PID a dalšími atributy. V této příručce se zaměříme na použití příkazu ps.
Získává informace o procesech z virtuálních souborů, které jsou umístěny v souborovém systému /proc
příkaz ps bez argumentů
Příkaz ps bez argumentů uvádí spuštěné procesy v aktuálním shellu
ps
Výstup
Výstup se skládá ze čtyř sloupců
PID
– Toto je jedinečné ID procesu
TTY
– Toto je typ terminálu, ke kterému je uživatel přihlášen
TIME
– Toto je doba v minutách a sekundách, po kterou proces probíhal
CMD
– Příkaz, který spustil proces
Zobrazení všech běžících procesů v různých formátech
Chcete-li se podívat na všechny běžící procesy, spusťte níže uvedený příkaz
ps -A
Výstup
nebo
ps -e
Výstup
Zobrazení procesů souvisejících s terminálem
Chcete-li zobrazit procesy spojené se spuštěním terminálu
ps -T
Výstup
Zobrazení procesů, které nejsou spojeny s terminálem
Pro zobrazení všech procesů s výjimkou procesů spojených s terminálem a vedoucími relací
provést
ps -a
Vedoucí relace je proces, který spouští další procesy
Výstup
Zobrazit všechny aktuálně běžící procesy
Pro zobrazení všech aktuálně spuštěných procesů
ps -ax
Výstup
-a
příznak znamená všechny procesy-x
zobrazí všechny procesy, včetně těch, které nejsou spojeny s aktuálním tty
Zobrazit všechny procesy ve formátu BSD
Pokud si přejete zobrazit procesy ve formátu BSD, spusťte
ps au
NEBO
ps aux
Výstup
Provedení výpisu v plném formátu
Chcete-li zobrazit výpis v plném formátu, spusťte
ps -ef
NEBO
ps -eF
Výstup
Filtrujte procesy podle uživatele
Pokud chcete vypsat procesy spojené s konkrétním uživatelem, použijte -u
příznak, jak je znázorněno
ps -u user
Například
ps -u jamie
Výstup
Filtrovat proces podle procesu vlákna
Pokud chcete znát vlákno konkrétního procesu, použijte -L
příznak následovaný PID
Například
ps -L 4264
Výstup
Zobrazit všechny procesy běžící jako root
Někdy můžete chtít odhalit všechny procesy spuštěné uživatelem root. K dosažení tohoto běhu
ps -U root -u root
Výstup
Zobrazení skupinových procesů
Pokud chcete vypsat všechny procesy spojené s určitou skupinou, spusťte
ps -fG group_name
Nebo
ps -fG groupID
Například
ps -fG root
Výstup
Vyhledat PID procesu
Je pravděpodobné, že obvykle neznají PID procesu. PID procesu můžete vyhledat
spuštěním
ps -C process_name
Například
ps -C bash
Výstup
Výpis procesů podle PID
Procesy můžete zobrazit podle jejich PID, jak je uvedeno
ps -fp PID
Například
ps -fp 1294
Výstup
Zobrazení hierarchie procesů ve stromovém diagramu
Většina procesů je obvykle rozdělena z nadřazených procesů. Seznámení s tímto vztahem rodiče a dítěte
se může hodit. Níže uvedený příkaz hledá procesy s názvem apache2
ps -f --forest -C bash
Výstup
Zobrazení podřízených procesů nadřazeného procesu
Chcete-li například zobrazit všechny rozvětvené procesy patřící do apache, spusťte
ps -o pid,uname,comm -C bash
Výstup
První proces, který vlastní root, je hlavním procesem apache2 a ostatní procesy
byly oddělovány od tohoto hlavního procesu
Chcete-li zobrazit všechny podřízené procesy apache2 pomocí pid hlavního procesu apache2, spusťte
ps --ppid PID no.
Například
ps --ppid 1294
Výstup
Zobrazit procesní vlákna
Příkaz ps lze použít k zobrazení vláken spolu s procesy.
Níže uvedený příkaz zobrazí všechna vlákna vlastněná procesem s PID pid_no
ps -p pid_no -L
Například
ps -p 1294 -L
Výstup
Zobrazit vybraný seznam sloupců
Pomocí příkazu ps můžete zobrazit pouze ty sloupce, které potřebujete.
Například,
ps -e -o pid,uname,pcpu,pmem,comm
Výše uvedený příkaz zobrazí pouze sloupce PID, uživatelské jméno, CPU, paměť a příkaz
Výstup
Přejmenování štítků sloupců
Chcete-li přejmenovat popisky sloupců, proveďte níže uvedený příkaz
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
Výstup
Zobrazení uplynulého času procesů
Uplynulý čas označuje, jak dlouho proces běží po
ps -e -o pid,comm,etime
Výstup
Volba -o povolí sloupec pro uplynulý čas
Použití příkazu ps s grep
příkaz ps lze použít s příkazem grep k vyhledání konkrétního procesu
Například
ps -ef | grep systemd
Výstup