Sobes.tech
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.