V Linuxu se spuštěná instance programu nazývá proces. Občas, když pracujete na počítači s Linuxem, možná budete muset zjistit, jaké procesy aktuálně běží.
Existuje řada příkazů, které můžete použít k vyhledání informací o běžících procesech pomocí ps , pstree a top jsou ty nejběžněji používané.
Tento článek vysvětluje, jak používat ps k zobrazení seznamu aktuálně spuštěných procesů a zobrazení informací o těchto procesech.
Jak používat ps Příkaz #
Obecná syntaxe pro ps příkaz je následující:
ps [OPTIONS]
Z historických důvodů a důvodů kompatibility je ps příkaz přijímá několik různých typů voleb:
- Možnosti stylu UNIX, kterým předchází jedna pomlčka.
- Možnosti stylu BSD, použité bez pomlčky.
- Dlouhé možnosti GNU, před kterými jsou dvě pomlčky.
Různé typy možností lze kombinovat, ale v některých konkrétních případech se mohou objevit konflikty, takže je nejlepší zůstat u jednoho typu možnosti.
Možnosti BSD a UNIX lze seskupit.
V nejjednodušší podobě, při použití bez možnosti, ps vytiskne čtyři sloupce informací pro minimálně dva procesy běžící v aktuálním shellu, samotný shell a procesy, které běží v shellu, když byl příkaz vyvolán.
ps
Výstup obsahuje informace o shellu (bash ) a proces běžící v tomto shellu (ps , příkaz, který jste zadali):
PID TTY TIME CMD
1809 pts/0 00:00:00 bash
2043 pts/0 00:00:00 ps
Čtyři sloupce jsou označeny PID , TTY , TIME a CMD .
PID- ID procesu. Obvykle při spuštěnípsnejdůležitější informací, kterou uživatel hledá, je PID procesu. Znalost PID vám umožní zabít nefunkční proces.TTY- Název řídicího terminálu pro proces.TIME– Kumulativní čas procesoru procesu, zobrazený v minutách a sekundách.CMD- Název příkazu, který byl použit ke spuštění procesu.
Výše uvedený výstup není příliš užitečný, protože neobsahuje mnoho informací. Skutečná síla ps příkaz přichází po spuštění s dalšími možnostmi.
ps příkaz akceptuje obrovské množství možností, které lze použít k zobrazení specifické skupiny procesů a různých informací o procesu, ale pro každodenní použití jich stačí jen hrstka.
ps se nejčastěji používá s následující kombinací možností:
Formulář BSD :
ps aux avolba říkápspro zobrazení procesů všech uživatelů. Nejsou zobrazeny pouze procesy, které nejsou spojeny s terminálem, a procesy vedoucích skupin.uznamená uživatelsky orientovaný formát, který poskytuje podrobné informace o procesech.xvolba dává pokynpsk výpisu procesů bez řídicího terminálu. Jsou to hlavně procesy, které se spouštějí při bootu a běží na pozadí.
Příkaz zobrazí informace v jedenácti sloupcích označených USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME a 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 [kthreadd]
...
PID jsme již vysvětlili , TTY , TIME a CMD štítky. Zde je vysvětlení dalších štítků:
USER– Uživatel, který proces spouští.%CPU- Využívání procesoru procesu.%MEM– Procento velikosti rezidentní sady procesu k fyzické paměti v počítači.VSZ- Velikost virtuální paměti procesu v KiB.RSS- Velikost fyzické paměti, kterou proces používá.STAT- Kód stavu procesu, napříkladZ(zombie),S(spící) aR(běh).START- Čas, kdy příkaz začal.
f volba říká ps k zobrazení stromového zobrazení rodičovských až podřízených procesů:
ps auxf
ps příkaz také umožňuje třídit výstup. Chcete-li například seřadit výstup podle využití paměti, použijte:
ps aux --sort=-%mem Formulář UNIX :
ps -ef -evolba dává pokynpspro zobrazení všech procesů.-fpředstavuje full-format listing, který poskytuje podrobné informace o procesech.
Příkaz zobrazí informace v osmi sloupcích označených UID , PID , PPID , C , TIME , TIME a 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 [kthreadd]
...
Štítky, které ještě nejsou vysvětleny, mají následující význam:
UID- Stejné jakoUSER, uživatel, který proces spouští.PPID– ID nadřazeného procesu.C- Stejné jako%CPU, využití CPU procesu.TIME- Stejné jakoSTART, čas, kdy příkaz začal.
Chcete-li zobrazit pouze procesy běžící jako konkrétní uživatel, zadejte následující příkaz, kde linuxize je jméno uživatele:
ps -f -U linuxize -u linuxize Uživatelem definovaný formát #
o umožňuje určit, které sloupce se zobrazí při spuštění ps příkaz.
Chcete-li například vytisknout informace pouze o PID a COMMAND , spustíte jeden z následujících příkazů:
ps -efo pid,comm ps auxo pid,comm Pomocí ps S dalšími příkazy #
ps lze použít v kombinaci s dalšími příkazy prostřednictvím potrubí.
Pokud chcete zobrazit výstup ps příkaz, jednu stránku po druhé propojte do less příkaz:
ps -ef | less
Výstup ps příkaz lze filtrovat pomocí grep . Chcete-li například zobrazit pouze proces patřící uživateli root, který byste spustili:
ps -ef | grep root Závěr č.
ps command je jedním z nejčastěji používaných příkazů při odstraňování problémů v systémech Linux. Má mnoho možností, ale obvykle většina uživatelů používá buď ps aux nebo ps -ef ke shromažďování informací o běžících procesech.
Další informace o ps , zadejte man ps ve vašem terminálu.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.