Creative Saplings

30 Užitečné příklady „ps Command“ pro monitorování procesů v systému Linux

30 ledna, 2021
No Comments

ps (status procesu) je nativní nástroj Unix / Linux pro prohlížení informací týkajících se výběru spuštěných procesů v systému: čte tyto informace z virtuálních souborů v souborovém systému / proc. Je to jeden z důležitých nástrojů pro správu systému, konkrétně v rámci monitorování procesu, který vám pomůže pochopit, co se děje v systému Linux.

Má mnoho možností pro manipulaci s jeho výstupem, ale najdete malý řada z nich je prakticky užitečná pro každodenní použití.

Přečtěte si také: Vše, co potřebujete vědět o procesech v systému Linux

V tomto článku se podíváme na 30 užitečných příkladů příkazů ps pro sledování aktivních běžících procesů v systému Linux.

Všimněte si, že ps produkuje výstup s nadpisem, který představuje význam každého sloupce informací, význam všech štítků najdete v ps man stránka.

Seznam všech procesů v aktuálním prostředí

1. Pokud spustíte příkaz ps bez jakýchkoli argumentů, zobrazí se procesy pro aktuální prostředí.

$ ps 
Seznam aktuálních spuštěných procesů

Tisk všech procesů v různých formátech

2. Zobrazit všechny aktivní procesy v systému Linux v obecném formátu (Unix / Linux).

$ ps -AOR$ ps -e
Seznam procesů ve standardním formátu

3. Zobrazit všechny procesy ve formátu BSD.

$ ps auOR$ ps axu
Seznam procesů ve formátu BSD

4. Chcete-li provést výpis v plném formátu, přidejte příznak -f nebo -F.

$ ps -efOR$ ps -eF
Seznam procesů ve formátu dlouhého seznamu

Zobrazit procesy spuštěné uživatelem

5. Můžete vybrat všechny procesy, které vlastníte (v tomto případě běh příkazu ps, 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 tecmintOR$ ps -fu 1000
Seznam uživatelských procesů podle ID

7. Chcete-li vybrat procesy uživatele podle efektivního ID uživatele (EUID) nebo jména, použijte možnost -u.

$ ps -fu tecmintOR$ ps -fu 1000

Tisknout všechny procesy běžící jako root (skutečné a efektivní ID)

8. Následující příkaz umožňuje zobrazit každý proces spuštěný s oprávněními uživatele root (skutečné & efektivní ID) ve formátu uživatele.

$ ps -U root -u root 
Zobrazit procesy spuštěné uživatelem root

Zobrazení skupinových procesů

9. Pokud chcete zobrazit seznam všech procesů vlastněných určitou skupinou (ID skutečné skupiny (RGID) nebo název), zadejte.

$ ps -fG apacheOR$ ps -fG 48
Procesy skupiny zobrazení

10. Chcete-li zobrazit seznam všech procesů vlastněných efektivním názvem skupiny (nebo relací), zadejte.

$ ps -fg apache

Zobrazit procesy podle PID a PPID

11. Procesy můžete zobrazit podle PID následujícím způsobem.

$ ps -fp 1178
Seznam procesů podle PID

12. Chcete-li vybrat proces pomocí PPID, zadejte.

$ ps -f --ppid 1154
Vypsat proces podle PPID

13.. Proveďte výběr pomocí seznamu PID.

$ ps -fp 2226,1154,1146
seznam Procesy podle PID

Zobrazit procesy podle TTY

14. Chcete-li vybrat procesy podle tty, použijte příznak -t následujícím způsobem.

$ ps -t pst/0$ ps -t pst/1$ ps -ft tty1
Seznam procesů podle TTY

Vytisknout strom procesů

15. Strom procesů ukazuje, jak jsou procesy v systému navzájem propojeny; procesy, jejichž rodiče byli zabiti, jsou adoptovány initem (nebo systemd).

$ ps -e --forest 
Seznam procesních stromů

16.. Můžete také vytisknout strom procesu pro daný proces, jako je tento.

$ ps -f --forest -C sshdOR$ ps -ef --forest | grep -v grep | grep sshd 
Seznam stromových zobrazení procesu

Tisková vlákna procesu

17. Chcete-li vytisknout všechna vlákna procesu, použijte příznak -H, který zobrazí sloupce LWP (lehký proces) i NLWP (počet lehkých procesů).

$ ps -fL -C httpd
Seznam vláken procesu

Určete vlastní výstupní formát

Pomocí možností -o nebo –format vám ps umožňuje vytvářet výstupní formáty definované uživatelem, jak je znázorněno níže.

18. Chcete-li zobrazit seznam všech specifikátorů formátu, zahrňte příznak L.

$ ps L

19. Následující příkaz umožňuje zobrazit PID, PPID, uživatelské jméno a příkaz procesu.

$ ps -eo pid,ppid,user,cmd
Seznam procesů se jmény

20. Níže je uveden další příklad vlastního výstupního formátu, který zobrazuje skupinu systémů souborů, pěknou hodnotu, čas zahájení a uplynulý čas procesu.

$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime
Seznam informací o ID procesu

21. Vyhledání názvu procesu pomocí jeho PID.

$ ps -p 1154 -o comm=
Najít proces pomocí PID

Zobrazit nadřazené a podřízené procesy

22. Chcete-li vybrat konkrétní proces podle názvu, použijte příznak -C, zobrazí se také všechny jeho podřízené procesy.

$ ps -C sshd
Najít nadřazený podřízený proces

23. Najděte všechny PID všech instancí procesu, užitečné při psaní skriptů, které potřebují číst PID ze standardního výstupu nebo souboru.

$ ps -C httpd -o pid=
Najít všechny procesní PID

24. Zkontrolujte dobu provedení procesu.

$ ps -eo comm,etime,user | grep httpd

Následující výstup ukazuje, že služba HTTPD běží 1 hodinu, 48 minut a 17 sekund.

Najít dobu provozu

Řešení problémů Výkon systému Linux

Pokud váš systém nefunguje tak, jak by měl, například pokud je neobvykle pomalý, můžete provést řešení potíží se systémem následovně.

26. Najděte nejlépe běžící procesy podle nejvyššího využití paměti a procesoru v systému Linux.

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | headOR$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
Najít nejlépe běžící procesy

27. Chcete-li zabít linuxové procesy / nereagující aplikace nebo jakýkoli proces, který spotřebovává vysoký čas CPU.

Nejprve vyhledejte 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
Najít a zabít proces

Tisknout informace o zabezpečení

28. Ukažte tento kontext zabezpečení (konkrétně pro SELinux).

$ ps -eMOR$ ps --context
Najít kontext SELinux

29. Pomocí tohoto příkazu můžete také zobrazit informace o zabezpečení v uživatelem definovaném formátu.

$ ps -eo euser,ruser,suser,fuser,f,comm,label
Seznam kontextů SELinux podle uživatelů

Provádění monitorování procesů v reálném čase pomocí nástroje Watch Utility

30. Nakonec, protože ps zobrazuje statické informace, můžete použít nástroj watch k provádění monitorování procesů v reálném čase s opakujícím se výstupem, zobrazeným po každé vteřině jako v níže uvedeném příkazu (k dosažení svého cíle zadejte vlastní příkaz ps).

$ watch -n 1 "ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head"
Monitorování procesu v reálném čase

Důležité: ps zobrazuje pouze statické informace, pro 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ástrojem pro sledování výkonu systému Linux.

Můžete si také přečíst následující související články.

  1. Jak najít název procesu pomocí čísla PID v systému Linux
  2. Vyhledejte nejlépe běžící procesy podle nejvyššího využití paměti a procesoru v systému Linux
  3. Průvodce Příkazy Kill, Pkill a Killall k ukončení procesu v systému Linux
  4. Jak najít a zabít spuštěné procesy v systému Linux
  5. Jak spustit příkaz Linux na pozadí a odpojit proces v terminálu

Articles
Previous Post

PMC (Čeština)

Next Post

Yosemitské túry: nejlepší místa k nohám v národním parku Yosemite

Napsat komentář Zrušit odpověď na komentář

Nejnovější příspěvky

  • Nejlepší fotografické školy na světě, 2020
  • Sovereign Citizens Take their Anti-Government Philosophy to the Roads
  • Průvodce náklady na opravy Stucco
  • Muckrakers (Čeština)
  • Precision Oncology (Čeština)

Archivy

  • Únor 2021
  • Leden 2021
  • Prosinec 2020
  • Listopad 2020
  • Říjen 2020
  • Září 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.