Sobes.tech
Junior — Middle

Ako sa v operačnom systéme odosiela signál riadenia procesu?

sobes.tech AI

Odpoveď od AI

V operačných systémoch založených na Unix/Linux je odoslanie signálu procesu vykonané pomocou systémového volania kill(). Toto volanie umožňuje odoslať špecifický signál (napríklad SIGINT, SIGTERM, SIGKILL) procesu podľa jeho identifikátora PID.

Príklad použitia v jazyku C:

#include <signal.h>
#include <unistd.h>

int main() {
    pid_t pid = 1234; // PID procesu, ktorému odosielame signál
    int sig = SIGTERM; // signál ukončenia
    int result = kill(pid, sig);
    if (result == 0) {
        // signál úspešne odoslaný
    } else {
        // chyba pri odosielaní signálu
    }
    return 0;
}

Okrem kill() existujú aj iné spôsoby, napríklad príkaz kill v termináli alebo funkcie raise() na odoslanie signálu sám sebe. Signály sa používajú na správu procesu: prerušenie, zastavenie, pokračovanie, ukončenie a pod.