Sobes.tech
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.