Junior — Middle
Explicați ce sunt semnalele în sistemul de operare Unix și cum sunt utilizate pentru interacțiunea între procese.
sobes.tech AI
Răspuns de la AI
În sistemele Unix, semnalele sunt un mecanism de notificare asincronă a proceselor despre evenimente. Un semnal este un mesaj scurt trimis procesului de către nucleu sau de către alt proces pentru a informa despre un anumit eveniment.
Exemple de semnale:
- SIGINT — întrerupere (de obicei Ctrl+C)
- SIGTERM — solicitare de terminare a procesului
- SIGKILL — terminare imediată a procesului
- SIGSTOP — suspendare a procesului
Semnalele sunt utilizate pentru:
- Controlul proceselor (încheiere, suspendare, reluare)
- Gestionarea erorilor (de exemplu, împărțirea la zero generează SIGFPE)
- Interacțiunea între procese (de exemplu, un proces poate trimite un semnal altuia pentru sincronizare)
Un proces poate seta un handler de semnal pentru a executa anumite acțiuni la primirea semnalului sau pentru a ignora semnalul (dacă este permis).
Exemplu de utilizare a semnalului în shell:
kill -SIGTERM <pid> # Trimite semnalul de terminare procesului cu identificatorul pid
Astfel, semnalele sunt o metodă simplă și eficientă de a interacționa și gestiona procesele în Unix.