diff --git a/Userspace/apps/sys/init/init.c b/Userspace/apps/sys/init/init.c index ebe31903..1c15d8f4 100644 --- a/Userspace/apps/sys/init/init.c +++ b/Userspace/apps/sys/init/init.c @@ -49,10 +49,22 @@ void ReapZombies() } } +void HandleSignal(int signal) +{ + if (signal == SIGTERM || signal == SIGINT) + { + printf("init: received termination signal, shutting down...\n"); + exit(0); + } +} + int main() { printf("init starting...\n"); + signal(SIGTERM, HandleSignal); + signal(SIGINT, HandleSignal); + char *shellArgs[] = {"/bin/sh", NULL}; StartProcess("/bin/sh", shellArgs);