Junior — Middle
Vysvetlite, čo sú signály v operačnom systéme Unix a ako sa používajú na interakciu medzi procesmi.
sobes.tech AI
Odpoveď od AI
V systémoch Unix sú signály mechanizmom asynchrónneho upozorňovania procesov o udalostiach. Signál je krátka správa odosielaná jadrom alebo iným procesom procesu, aby ho informovala o nejakej udalosti.
Príklady signálov:
- SIGINT — prerušenie (zvyčajne Ctrl+C)
- SIGTERM — žiadosť o ukončenie procesu
- SIGKILL — okamžité ukončenie procesu
- SIGSTOP — pozastavenie procesu
Signály sa používajú na:
- riadenie procesov (ukončenie, pozastavenie, pokračovanie)
- spracovanie chýb (napríklad delenie nulou spôsobí SIGFPE)
- interakciu medzi procesmi (napríklad, jeden proces môže poslať signál inému na synchronizáciu)
Proces môže nastaviť obslužník signálu, ktorý vykoná určité akcie pri jeho prijatí, alebo signál ignorovať (ak je to povolené).
Príklad použitia signálu v shelli:
kill -SIGTERM <pid> # Pošle signál ukončenia procesu s identifikátorom pid
Takže signály sú jednoduchým a efektívnym spôsobom, ako komunikovať a riadiť procesy v Unix-e.