GNU/Linux >> Znalost Linux >  >> Linux

15 Příkaz Linux ps s příklady

ps je vestavěný příkaz používaný v operačních systémech Unix/Linux k výpisu aktuálně běžících procesů. Zobrazuje statický snímek s informacemi o procesech, zatímco top, htop a pohledy zobrazují opakované aktualizace.

Příkaz Ps přichází se spoustou možností pro manipulaci s výstupy. Získává všechny informace o procesech z virtuálního souborového systému /proc.

Tento tutoriál se zaměří na vysvětlení způsobu použití příkazu ps spolu s několika praktickými příklady

Syntaxe příkazu ps

Základní syntaxe pro použití příkazu ps je následující:

$ ps [options]

„Možnosti“ příkazu ps mohou být:

  • Možnosti systému UNIX – předchází pomlčka
  • Možnosti BSD – musí být použity bez pomlčky
  • Dlouhé možnosti GNU – před kterými jsou dvě pomlčky

Toto je velmi základní použití příkazu ps. Jednoduše zadejte na konzoli „ps“ a uvidíte výsledek:

$ ps

Ve výchozím nastavení nám zobrazuje čtyři sloupce informací.

  • PID je ID procesu spuštěného příkazu (CMD)
  • TTY je místo, kde běží spuštěný příkaz
  • ČAS informuje o tom, kolik času CPU spotřebuje při spouštění příkazu
  • CMD je příkaz, který běží jako aktuální proces

Spuštění příkazu ps bez možnosti je pouze nejjednodušší formát příkazu, nevrací mnoho informací. Aby bylo možné co nejlépe využít sílu příkazu ps, spusťte jej s dalšími možnostmi, které budou podrobněji vysvětleny v následujících částech.

01) Zobrazit všechny procesy (formát UNIX)

Chcete-li zobrazit všechny procesy ve vašem systému Linux, můžete spustit některý z následujících příkazů:

$ ps -A

nebo:

$ ps -e

Navíc, chcete-li vypsat všechny běžící procesy, spusťte:

$ ps -r

02) Zobrazit všechny procesy (formát BSD)

Chcete-li zobrazit všechny procesy ve vašem systému Linux pomocí příkazu ps ve formátu BSD, můžete spustit následující příkazy:

$ ps ax

nebo

$ ps aux

Kde:

  • USER – uživatel spustí proces
  • PID – ID procesu
  • %CPU / %MEM – procento CPU / RAM obsazené procesy
  • VSZ – velikost virtuální paměti obsazené procesy
  • RSS – velikost fyzické paměti obsazené procesy
  • START – čas zahájení
  • STAT – stav procesu, ve kterém:S (spící), R (běžící), I (přerušitelný spánek).
  • Čas – zobrazí, jak dlouhý čas procesoru byl daný jádrem daného běžícího procesu.
  • COMMAND – příkaz, který běží jako aktuální proces

03) Zobrazí všechny procesy, které jsou spuštěny příkazem

Chcete-li vypsat všechny procesy, které jsou spuštěny příkazem, použijte následující syntaxi:

$ ps -C <command_name>

Spusťte například seznam všech procesů příkazu '/usr/sbin/kerneloops':

$ ps -C kerneloops

Můžete také použít argument ve formě seznamu odděleného prázdnými znaky nebo čárkami, například:

$ ps -C sshd,systemd

04) Zobrazí všechny procesy, které uživatel spouští

Pokud chcete vypsat proces podle uživatele, jehož ID uživatele je 1000, spusťte následující příkaz:

$ ps -u 1000

Můžete také hledat proces podle uživatelského jména:

$ ps -U root -u root u

-U parameter vybere podle real user ID (RUID) . Vybírá procesy, jejichž skutečné uživatelské jméno nebo ID je v seznamu uživatelů. Skutečné ID uživatele identifikuje uživatele, který proces vytvořil.

Zatímco -u paramater vybere podle platného ID uživatele (EUID)

05) Zobrazení procesů vlastněných skupinou

Chcete-li vypsat všechny procesy vlastněné konkrétním názvem skupiny, spusťte příkaz s -fG volba. Například:

$ ps -fG cas

Chcete-li zobrazit všechny procesy podle ID skupiny, můžete spustit příkaz s volbou '-g'. Například:

$ ps -g 1

Výstup:

   PID TTY          TIME CMD
     1 ?        00:00:03 systemd

06) Zobrazení procesů podle PID

Všechny procesy můžete vypsat podle PID spuštěním příkazu ps s volbou '-fp'. Například:

$ ps -fp 34531

Výstup:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34531      1  0 06:16 ?        00:00:00 /lib/systemd/systemd --user

Navíc, abychom vypsali všechny procesy podle PPID, spusťte příkaz s volbou '--ppid':

$ ps -f --ppid 34529

Výstup:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34609  34529  0 06:16 ?        00:00:00 sshd: cas@pts/0

07) Zobrazení procesů pomocí TTY

Chcete-li zobrazit všechny procesy pomocí TTY, můžete spustit příkaz s volbou '-t'. Například:

$ ps -t tty1

08) Zobrazení procesů vlastněných aktuálním uživatelem

Chcete-li zobrazit všechny procesy spuštěné aktuálním uživatelem, spusťte příkaz s volbou '-x':

$ ps -x

09) Zobrazit všechny procesy s úplným výpisem formátu

Spusťte například příkaz ps s -f možnost zobrazit celý proces v plném formátu:

$ ps -af

10) Zobrazit všechny procesy v extra formátu

Navíc, chcete-li zobrazit extra úplný výpis výsledku, spusťte příkaz ps s -F volba. Například:

$ ps -F

11) Zobrazit všechny procesy ve formátu ASCII hierarchie

Pro ilustraci, za předpokladu, že chcete zobrazit celý proces na vašem systému Linux ve formátu hierarchie uměleckého procesu ASCII, spusťte:

$ ps af

Výstup bude ve formátu "forest":

12) Proces zobrazení v rozšířeném výstupu

Pokud chcete při spuštění příkazu ps rozšířit výstup, použijte w možnost:

$ ps w

Udělejme srovnání mezi výstupy spuštění 'ps w' a 'ps':

13) Proces zobrazení podle uživatelem definovaného formátu

Pro zobrazení v uživatelsky definovaném formátu můžete použít následující syntaxi:

Syntax:
$ ps --format column_name
$ ps -o column_name
$ ps o column_name

For example:
$ ps -e -o user,pid,cmd

14) Zobrazte vlákna s ID vlákna

Chcete-li například zobrazit vlákna se sloupcem SPID (SPID je ID vlákna), spusťte:

$ ps -aT

15) Zobrazit informace o vláknech

Kromě toho můžete použít volbu '-L' k získání informací o vláknech ve vašem systému Linux:

$ ps -aL

Výstup se sloupcem 'LWP' zobrazuje ID vlákna:

Několik dalších příkladů

01) Zkontrolujte, které procesy zabírají nejvíce paměti RAM

Následující příkaz zobrazí většinu paměti využívající procesy, %MEM v 1. sloupci PID ve 2. sloupci a příkaz ve 3. sloupci pro všechny běžící procesy v systému:

$ ps -eo pmem,pid,cmd | sort -k 1 -nr

02) Zobrazí všechna vlákna konkrétního ID procesu

Tím se zobrazí všechna vlákna konkrétního procesu pid.

$ ps -Lf -p 3482

03) Zobrazuje potomka nadřazeného procesu

Zobrazí se všechny podřízené procesy procesu a je to užitečné pro zjištění, jaké procesy byly z tohoto hlavního procesu vyčleněny.

$ ps -o pid,pcpu,pmem,uname,comm -C apache2

04) Zobrazuje, jak dlouho proces běží

Následující příkaz ukáže, jak dlouho v systému běží proces 'mysql':

$ ps -e -o pid,comm,etime | grep mysql
3107 mysqld_safe 18-07:01:53
3469 mysqld 18-07:01:52
  • etime :čas, který uplynul od spuštění procesu, ve tvaru [[DD-]hh:]mm:ss.
  • etimes :čas, který uplynul od spuštění procesu, v sekundách.

05) Získejte informace o zabezpečení

Pokud chceme vidět, kdo je aktuálně přihlášen na váš server, můžeme to vidět pomocí příkazu ps:

$ ps -eo pid,user,args

Nyní můžete mapovat pids na jejich příslušné systémové jednotky pomocí níže uvedeného příkazu:

$ ps -e -o pid,unit,cmd

Závěr

Pstree (nebo použijte ps -axjf ) a pgrep jsou další příkazy, které mohou pomoci získat informace o běžícím procesu.

Můžete použít ps jako monitor v reálném čase pomocí příkazu watch, řekněme, že chceme filtrovat procesy podle CPU a zpráva o využití paměti se aktualizuje každou 1 sekundu.

$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’

V tomto tutoriálu jsme se naučili mnoho způsobů, jak používat příkaz ps v Linuxu. Pro prozkoumání všech možností navštivte manuálovou stránku ps. Děkujeme za přečtení a zanechte prosím svůj návrh v sekci komentářů níže.


Linux
  1. Linux Tee Command s příklady

  2. Příkaz linuxové hlavy s příklady

  3. JQ Command v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux řazení příkazů s příklady

  3. Echo Command v Linuxu (s příklady)

  1. man Command v Linuxu s příklady

  2. Příkaz AWK v Linuxu s příklady

  3. Curl Command v Linuxu s příklady