Sobes.tech
Intern

Hogyan fejezzük be a folyamatot?

sobes.tech MI

Válasz az MI-től

A Linux rendszerben folyamatot a kill, pkill vagy killall parancsokkal lehet befejezni.

1. A kill használata:

  • Egy folyamatot a Process ID-ja (PID) alapján zár le.
  • Ismerni kell a PID-t.
  • Jelek:
    • SIGTERM (alapértelmezett, 15): Lágy leállítás, lehetővé teszi a folyamatnak, hogy helyesen zárjon be.
    • SIGKILL (9): Azonnali és kényszerített leállítás, a folyamat nem hagyhatja figyelmen kívül ezt a jelet.
# a folyamat PID-jének lekérdezése
ps aux | grep <folyamat_neve>

# SIGTERM jel küldése (alapértelmezett)
kill <PID>

# SIGKILL jel küldése
kill -9 <PID>

2. A pkill használata:

  • Folyamatokat a nevük vagy más attribútumaik alapján zár le.
  • Nem szükséges ismerni a PID-t.
  • Mintákat támogat.
# összes 'nginx' nevű folyamat leállítása
pkill nginx

# összes 'myapp' tartalmazó folyamat leállítása (kis- és nagybetű érzékeny)
pkill -i myapp

# SIGKILL küldése 'firefox' nevű folyamatoknak
pkill -9 firefox

3. A killall használata:

  • Csak pontos név alapján zár le folyamatokat.
  • Nem támogat összetett mintákat, ellentétben a pkill-lel.
# összes 'apache2' nevű folyamat leállítása
killall apache2

# SIGKILL küldése pontos 'mysqld' nevű folyamatoknak
killall -9 mysqld

A parancs kiválasztása:

Parancs Leállítási módszer PID szükséges Minták támogatása
kill PID szerint Igen Nem
pkill Név/attribútum szerint Nem Igen
killall Pontos név szerint Nem Nem

A legtöbb esetben ajánlott először a SIGTERM-mel próbálkozni (kill <PID>, pkill <név>), hogy lehetőséget adjon az adatok mentésére és a helyes bezárásra. A SIGKILL (kill -9, pkill -9, killall -9) csak végső eszközként használható, amikor a folyamat nem reagál más jelekre.