Intern
Ako ukončiť proces?
sobes.tech AI
Odpoveď od AI
Ak chcete ukončiť proces v Linuxe, môžete použiť príkazy kill, pkill alebo killall.
1. Použitie kill:
- Ukončí proces na základe jeho Process ID (PID).
- Vyžaduje vedieť PID.
- Signály:
SIGTERM(predvolené, 15): Jemné ukončenie, umožňuje procesu správne sa zatvoriť.SIGKILL(9): Okamžité a vynútené ukončenie, proces nemôže tento signál ignorovať.
# nájdite PID procesu
ps aux | grep <názov_procesu>
# odošlite signál SIGTERM (predvolené)
kill <PID>
# odošlite signál SIGKILL
kill -9 <PID>
2. Použitie pkill:
- Ukončuje procesy podľa ich mena alebo iných atribútov.
- Nevyžaduje vedieť PID.
- Podporuje vzory.
# ukonči všetky procesy s názvom 'nginx'
pkill nginx
# ukonči všetky procesy obsahujúce 'myapp' v názve (rozlišovanie veľkosti písmen)
pkill -i myapp
# odošlite signál SIGKILL procesom s názvom 'firefox'
pkill -9 firefox
3. Použitie killall:
- Ukončuje procesy iba podľa ich presného názvu.
- Nepodporuje zložité vzory, na rozdiel od
pkill.
# ukonči všetky procesy s presným názvom 'apache2'
killall apache2
# odošlite signál SIGKILL procesom s presným názvom 'mysqld'
killall -9 mysqld
Výber príkazu:
| Príkaz | Metóda ukončenia | Vyžaduje PID | Podpora vzorov |
|---|---|---|---|
kill |
Podľa PID | Áno | Nie |
pkill |
Podľa mena/atribútov | Nie | Áno |
killall |
Podľa presného mena | Nie | Nie |
Vo väčšine prípadov sa odporúča najskôr skúsiť ukončiť proces pomocou SIGTERM (kill <PID>, pkill <názov>), aby mu bolo umožnené uložiť dáta a správne sa zatvoriť. SIGKILL (kill -9, pkill -9, killall -9) by mal byť použitý iba ako posledná možnosť, keď proces nereaguje na iné signály.