Sobes.tech
Middle+

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)
  • top sau htop — pentru monitorizarea proceselor
  • strace -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.