GNU/Linux >> Znalost Linux >  >> Linux

Monitorujte svůj systém Linux ve svém terminálu pomocí procps-ng

Proces, v terminologii POSIX, je probíhající událost spravovaná jádrem operačního systému. Proces se spustí, když spustíte aplikaci, ačkoli na pozadí vašeho počítače běží mnoho dalších procesů, včetně programů, které udržují váš systémový čas přesný, sledují nové souborové systémy, indexují soubory atd.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Většina operačních systémů má nějaký druh sledování aktivity systému, takže se můžete kdykoli dozvědět, jaké procesy běží. Linux má několik, ze kterých si můžete vybrat, včetně GNOME System Monitor a KSysGuard. Obě jsou užitečné aplikace na ploše, ale Linux také poskytuje možnost monitorovat váš systém ve vašem terminálu. Bez ohledu na to, který si vyberete, je běžným úkolem těch, kteří se aktivně podílejí na správě svého počítače, zkoumat konkrétní proces.

V tomto článku demonstruji, jak najít ID procesu (PID) programu. Nejběžnější nástroje k tomu poskytuje balíček procps-ng, včetně ps a pstree , pidof a pgrep příkazy.

Najděte PID běžícího programu

Někdy chcete získat ID procesu (PID) konkrétní aplikace, o které víte, že ji máte spuštěnou. pidof a pgrep příkazy vyhledávají procesy podle názvu příkazu.

pidof command vrací PID příkazu a hledá přesný příkaz podle názvu:

$ pidof bash 
1776 5736

pgrep příkaz umožňuje regulární výrazy (regex):

$ pgrep .sh
1605
1679
1688
1776
2333
5736
$ pgrep bash
5736

Najděte PID podle souboru

PID procesu můžete najít pomocí konkrétního souboru pomocí fuser příkaz.

$ fuser --user ~/example.txt                    
/home/tux/example.txt: 3234(tux)

Získejte název procesu podle PID

Pokud máte číslo PID procesu, ale ne příkazu, který jej vytvořil, můžete provést "zpětné vyhledávání" pomocí ps :

$ ps 3234
 PID TTY      STAT   TIME COMMAND
5736 bodů/1    Ss     0:00 emacs

Seznam všech procesů

ps příkaz vypíše procesy. Každý proces ve vašem systému můžete vypsat pomocí -e možnost:

$ ps -e | méně
PID TTY          TIME CMD
  1 ? 00:00:03 systemd
  2? 00:00:00 kthreadd
  3? 00:00:00 rcu_gp
  4 ? 00:00:00 rcu_par_gp
  6 ? 00:00:00 kworker/0:0H-events_highpri
[...]
5648 ? 00:00:00 gnome-control-c
5656 ? 00:00:00 gnome-terminal-
5736 pts/1    00:00:00 bash
5791 pts/1    00:00:00 ps
5792 pts/1    00:00:00 méně
(KONEC)

Uveďte pouze své procesy

Výstup ps -e může být ohromující, takže použijte -U zobrazit procesy pouze jednoho uživatele:

$ ps -U tux | méně
 PID TTY          TIME CMD
3545 ? 00:00:00 systemd
3548 ? 00:00:00 (sd-pam)
3566 ? 00:00:18 pulseaudio
3570 ? 00:00:00 gnome-keyring-d
3583 ? 00:00:00 dbus-daemon
3589 tty2     00:00:00 gdm-wayland-ses
3592 tty2     00:00:00 gnome-session-b
3613 ? 00:00:00 gvfsd
3618 ? 00:00:00 gvfsd-fuse
3665 tty2     00:01:03 gnome-shell
[...]

To produkuje o 200 méně (dejte nebo vezměte sto, v závislosti na systému, na kterém to používáte) procesů, které je třeba třídit.

Stejný výstup můžete zobrazit v jiném formátu pomocí pstree příkaz:

$ pstree -U tux -u --show-pids
[...]
├─gvfsd-metadata(3921)─┬─{gvfsd-metadata}(3923)
>
├─obexd(5214)
├─pulseaudio(3566)─┬─{pulseaudio}(3640)
│                    ├│ 3 3 6) ├│ (3 3 6/49)   {101} pulseaudio}(5258)
├─tracker-store(4150)─┬─{tracker-store}(4153)
│                                 ├ ├─ ├ ─ ├ ─ ├ ─ {tracker-store} (415) (415 4) {tracker-store}(4157)
│                     └─{tracker-store}(4178)
└─xdg-permission-(3847)─)                        └─{xdg-permission-}(3850)

Uveďte pouze své procesy s kontextem

Další kontext pro všechny procesy, které vlastníte, můžete zobrazit pomocí -u možnost.

$ ps -U tux -u
USER  PID %CPU %MEM    VSZ   RSS TTY STAT START  TIME COMMAND
tux  3545  0.0  0.0  89656  9708 ? Ss   13:59  0:00 /usr/lib/systemd/systemd --user
tux  3548  0.0  0.0 171416  5288 ? S    13:59  0:00 (sd-pam)
tux  3566  0,9  0,1 1722212 17352 ? Stux  3570  0,0  0,0 664736  8036 ? SLl  13:59  0:00 /usr/bin/gnome-keyring-daemon [...]
[...]
tux  5736  0.0  0.0 235628  6036 pts/1 Ss 14:18  0:00 bash
tux  6227  0,0  0,4 2816872 74512 tty2 Sl+14:30  0:00 /opt/firefox/firefox-bin [...]
tux  6660  0,0 81 s:29 R22 50  0:00 ps -U tux -u
tux  6661  0,0  0,0 219468  2460 bodů/1 S+ 14:50  0:00 méně

Odstraňování problémů s PID

Pokud máte potíže s konkrétní aplikací nebo vás jen zajímá, co dalšího ve vašem systému aplikace používá, můžete si prohlédnout paměťovou mapu běžícího procesu pomocí pmap :

$ pmap 1776
5736:  bash
000055f9060ec000   1056K r-x-- bash
000055f9063f3000     16K r--/-- 05K r----- 05 K 06 0 05000006 /> 00007FAF0FA67000 9040KR R - S- Passwd
00007FAF1033B000 40k R-X-- LIBNSS_SSS.S.S.S.2
00007FAF10345000 2044k -------------------007FAF10545000 4K RW ---- \ t c libnss_sss.so.2
00007faf10546000 212692 kB r---- locale-archive
00007faf1d4fb000   1776K r-x-- libc-2.28.021d-07.02 02.02.07.07.07.02007 br />00007faf1d8ba000      8K rw--- libc-2.28.so
[...]

ID procesů

procps-ng balíček obsahuje všechny příkazy, které potřebujete k prozkoumání a sledování toho, co váš systém v každém okamžiku používá. Ať už vás jen zajímá, jak do sebe všechny nesourodé části linuxového systému zapadají, nebo vyšetřujete chybu nebo hledáte optimalizaci výkonu vašeho počítače, naučení se těchto příkazů vám poskytne významnou výhodu pochopení vašeho OS.


Linux
  1. Zapněte textový editor terminálu Linux pomocí ed

  2. Zabezpečení Linuxu:Chraňte své systémy pomocí fail2ban

  3. Zjistěte více o svém systému Linux pomocí inxi

  1. Monitorujte svou Javu na Linuxu pomocí jconsole

  2. Vydejte se na dobrodružství ve svém linuxovém terminálu

  3. Jak monitorovat výkon systému Linux pomocí Sysstat

  1. Monitorujte svůj Linux server pomocí Checkmk

  2. Přizpůsobte si svůj linuxový terminál svým oblíbeným logem

  3. Oživte svůj RSS kanál pomocí Newsboat v terminálu Linux