Junior — Middle
Hoe wordt het controle-signaal naar het besturingssysteem gestuurd?
sobes.tech AI
Antwoord van AI
In Unix/Linux-gebaseerde besturingssystemen wordt een signaal naar een proces gestuurd via de systeemaanroep kill(). Deze oproep maakt het mogelijk om een specifiek signaal (bijvoorbeeld SIGINT, SIGTERM, SIGKILL) naar een proces te sturen via zijn PID.
Voorbeeld in C:
#include <signal.h>
#include <unistd.h>
int main() {
pid_t pid = 1234; // PID van het proces waaraan we het signaal sturen
int sig = SIGTERM; // beëindigingssignaal
int result = kill(pid, sig);
if (result == 0) {
// Signaal succesvol verzonden
} else {
// Fout bij het verzenden van het signaal
}
return 0;
}
Naast kill(), zijn er andere manieren, zoals het commando kill in de terminal of de functies raise() om een signaal naar zichzelf te sturen. Signalen worden gebruikt om processen te beheren: onderbreking, stop, hervatting, beëindiging, enz.