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.