Cum să omorâm un proces în Linux? Ce să facem dacă kill pid nu funcționează?
sobes.tech AI
Răspuns de la AI
În Linux, un proces poate fi ucis folosind comanda kill și specificând PID-ul (identificatorul procesului):
kill <pid>
În mod implicit, se trimite semnalul SIGTERM (15), care încheie procesul în mod corespunzător.
Dacă procesul nu răspunde la SIGTERM, se poate trimite un semnal mai puternic, SIGKILL (9), care forțează încheierea procesului:
kill -9 <pid>
Chiar dacă kill -9 nu funcționează, este posibil ca procesul să fie în starea "D" (somn ininteruptibil), de exemplu, așteptând intrare/ieșire sau blocat la nivel kernel. În acest caz, procesul nu poate fi ucis până când apelul de sistem nu se finalizează sau resursa nu este eliberată.
Pentru diagnostic, se pot folosi:
ps aux | grep <pid>— pentru a vedea starea procesului (coloana STAT)topsauhtop— pentru monitorizarea proceselorstrace -p <pid>— pentru urmărirea apelurilor de sistem ale procesului
Dacă procesul se blochează din cauza problemelor hardware sau ale sistemului de fișiere, trebuie rezolvată problema la nivelul respectiv.