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.