Junior — Middle
Hogyan történik a folyamatirányítási jel küldése az operációs rendszerben?
sobes.tech MI
Válasz az MI-től
Unix/Linux alapú operációs rendszerekben egy folyamatnak szignált a kill() rendszerhívással lehet küldeni. Ez a hívás lehetővé teszi, hogy egy adott szignált (például SIGINT, SIGTERM, SIGKILL) küldjünk egy folyamatnak a PID azonosítója segítségével.
Példa C nyelven:
#include <signal.h>
#include <unistd.h>
int main() {
pid_t pid = 1234; // A folyamat PID-je, amelynek szignált küldünk
int sig = SIGTERM; // leállítási szignál
int result = kill(pid, sig);
if (result == 0) {
// Sikeresen küldve a szignál
} else {
// Hiba a szignál küldésekor
}
return 0;
}
A kill()-en kívül léteznek más módszerek is, például a kill parancs a terminálban vagy a raise() függvények, amelyek saját magunknak küldenek szignált. A szignálokat a folyamatok irányítására használják: megszakítás, megállítás, folytatás, befejezés stb.