30 Užitečné příklady 'ps Command' pro monitorování procesů v Linuxu
ps (stav procesů) je nativní nástroj Unix/Linux pro zobrazení informací týkajících se výběru běžících procesů v systému: tyto informace čte z virtuálních souborů v/souborový systém proc. Je to jedna z důležitých pomůcek pro správu systému specificky pod monitorováním procesů, která vám pomůže pochopit, co se děje v systému Linux.
Má mnoho možností pro manipulaci s jeho výstupem, nicméně malý počet z nich najdete prakticky užitečných pro každodenní použití.
Přečtěte si také: Vše, co potřebujete vědět o procesech v Linuxu [Obsáhlý průvodce]
V tomto článku se podíváme na 30 užitečných příkladů příkazů ps pro monitorování aktivních běžících procesů v systému Linux.
Všimněte si, že ps vytváří výstup s řádkem záhlaví, který představuje význam každého sloupce informací. Význam všech štítků najdete na manové stránce ps.
Vypsat všechny procesy v aktuálním prostředí
1. Pokud spustíte příkaz ps bez jakýchkoli argumentů, zobrazí se procesy pro aktuální shell.
ps
Tiskněte všechny procesy v různých formátech
2. Zobrazit každý aktivní proces v systému Linux v obecném (Unix/Linux) formátu.
ps -A
OR
ps -e
3. Zobrazit všechny procesy ve formátu BSD.
ps au
OR
ps axu
4. Chcete-li provést výpis v plném formátu, přidejte příznak -f
nebo -F
.
ps -ef
OR
ps -eF
Zobrazit uživatelské procesy
5. Můžete vybrat všechny procesy, které vlastníte (běžec příkazu ps, v tomto případě root), zadejte:
ps -x
6. Chcete-li zobrazit procesy uživatele podle skutečného ID uživatele (RUID) nebo jména, použijte příznak -U
.
ps -fU tecmint
OR
ps -fu 1000
7. Chcete-li vybrat procesy uživatele podle skutečného uživatelského ID (EUID) nebo jména, použijte možnost -u
.
ps -fu tecmint
OR
ps -fu 1000
Vytisknout všechny procesy běžící jako root (skutečné a efektivní ID)
8. Níže uvedený příkaz vám umožňuje zobrazit každý proces spuštěný s uživatelskými právy root (skutečné a efektivní ID) v uživatelském formátu.
ps -U root -u root
Zobrazení skupinových procesů
9. Pokud chcete vypsat všechny procesy vlastněné určitou skupinou (skutečné ID skupiny (RGID) nebo název), zadejte.
ps -fG apache
OR
ps -fG 48
10. Chcete-li vypsat všechny procesy vlastněné skutečným názvem skupiny (nebo relace), zadejte.
ps -fg apache
Zobrazení procesů podle PID a PPID
11. Procesy můžete vypsat podle PID následovně.
ps -fp 1178
12. Chcete-li vybrat proces podle PPID, zadejte.
ps -f --ppid 1154
13. Proveďte výběr pomocí seznamu PID.
ps -fp 2226,1154,1146
Zobrazení procesů podle TTY
14. Chcete-li vybrat procesy podle tty, použijte příznak -t následovně.
ps -t pts/0
ps -t pts/1
ps -ft tty1
Strom procesu tisku
15. Strom procesů ukazuje, jak jsou procesy v systému vzájemně propojeny; procesy, jejichž rodiče byli zabiti, jsou převzaty init (nebo systemd).
ps -e --forest
16. Můžete také vytisknout strom procesu pro daný proces, jako je tento.
ps -f --forest -C sshd
OR
ps -ef --forest | grep -v grep | grep sshd
Vlákna procesu tisku
17. Chcete-li vytisknout všechna vlákna procesu, použijte příznak -L
, zobrazí se LWP (odlehčený proces) a také sloupce NLWP (počet zjednodušených procesů).
ps -fL -C httpd
Zadejte vlastní výstupní formát
Pomocí voleb -o nebo –format vám ps umožňuje vytvářet uživatelsky definované výstupní formáty, jak je uvedeno níže.
18. Chcete-li vypsat všechny specifikátory formátu, zahrňte příznak L
.
ps L
19. Níže uvedený příkaz vám umožňuje zobrazit PID, PPID, uživatelské jméno a příkaz procesu.
ps -eo pid,ppid,user,cmd
20. Níže je uveden další příklad vlastního výstupního formátu zobrazující skupinu systému souborů, hodnotu nice, čas zahájení a uplynulý čas procesu.
ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime
21. Chcete-li najít název procesu pomocí jeho PID.
ps -p 1154 -o comm=
Zobrazit rodičovské a podřízené procesy
22. Chcete-li vybrat konkrétní proces podle jeho názvu, použijte parametr -C, tím se také zobrazí všechny jeho podřízené procesy.
ps -C sshd
23. Najděte všechny PID všech instancí procesu, což je užitečné při psaní skriptů, které potřebují číst PID ze standardního výstupu nebo souboru.
ps -C httpd -o pid=
24. Zkontrolujte dobu provádění procesu.
ps -eo comm,etime,user | grep httpd
Níže uvedený výstup ukazuje, že služba HTTPD byla spuštěna 1 hodinu, 48 minut a 17 sekund.
Odstraňování problémů s výkonem systému Linux
Pokud váš systém nefunguje tak, jak by měl, například pokud je neobvykle pomalý, můžete provést některé problémy se systémem následovně.
26. Najděte nejběžnější procesy podle nejvyššího využití paměti a CPU v Linuxu.
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
OR
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
27. K zabití procesů Linuxu/nereagujících aplikací nebo jakéhokoli procesu, který spotřebovává mnoho času CPU.
Nejprve najděte PID nereagujícího procesu nebo aplikace.
ps -A | grep -i stress
Poté jej pomocí příkazu kill okamžitě ukončete.
kill -9 2583 2584
Tisk informací o zabezpečení
28. Zobrazit kontext zabezpečení (konkrétně pro SELinux) takto.
ps -eM
OR
ps --context
29. Pomocí tohoto příkazu můžete také zobrazit informace o zabezpečení v uživatelsky definovaném formátu.
ps -eo euser,ruser,suser,fuser,f,comm,label
Provádějte monitorování procesů v reálném čase pomocí nástroje Watch
30. A konečně, protože ps zobrazuje statické informace, můžete použít nástroj pro sledování k provádění monitorování procesů v reálném čase s opakovaným výstupem, který se zobrazuje každou sekundu, jako v příkazu níže (pro dosažení svého cíle zadejte vlastní příkaz ps).
watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'
Důležité: ps zobrazuje pouze statické informace, k zobrazení často aktualizovaného výstupu můžete použít nástroje jako htop; nahoře a pohledy: poslední dva jsou ve skutečnosti nástroje pro monitorování výkonu systému Linux.
Možná byste si také rádi přečetli následující související články.
- Jak najít název procesu pomocí čísla PID v Linuxu
- Najděte nejběžnější procesy podle nejvyššího využití paměti a CPU v Linuxu
- Průvodce příkazy Kill, Pkill a Killall k ukončení procesu v Linuxu
- Jak najít a zabít běžící procesy v Linuxu
- Jak spustit příkaz Linux na pozadí a odpojit proces v terminálu
To je prozatím vše. Pokud máte nějaké užitečné příklady příkazů ps ke sdílení (nezapomeňte vysvětlit, k čemu slouží), použijte níže uvedený formulář pro komentáře.