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
5736Najdě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 emacsSeznam 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