Middle+
Hogyan ölünk meg egy folyamatot Linuxban? Mit tegyünk, ha a kill pid nem segít?
sobes.tech MI
Válasz az MI-től
Linuxban egy folyamatot a kill parancs és a PID (folyamatazonosító) megadásával lehet megölni:
kill <pid>
Alapértelmezés szerint a SIGTERM (15) jelet küldi, ami helyesen befejezi a folyamatot.
Ha a folyamat nem reagál a SIGTERM-re, küldhetünk erősebb jelet, SIGKILL (9), ami kényszeríti a folyamat befejezését:
kill -9 <pid>
Ha még a kill -9 sem segít, a folyamat lehet, hogy "D" (megszakíthatatlan alvás) állapotban van, például várakozik bemenet/kimenet vagy kernel szinten blokkolva. Ebben az esetben a folyamat nem ölhető meg, amíg a rendszerhívás be nem fejeződik vagy a forrás nem szabadul fel.
Diagnosztikához használhatók:
ps aux | grep <pid>— a folyamat állapotának megtekintése (STAT oszlop)topvagyhtop— folyamatfigyelésstrace -p <pid>— a folyamat rendszerhívásainak követése
Ha a folyamat hardver vagy fájlrendszer problémák miatt lefagyott, a problémát ezen a szinten kell megoldani.