ctrl_alt_del.c 577 B

123456789101112131415161718192021222324252627
  1. /* https://cirosantilli.com/linux-kernel-module-cheat#ctrl-alt-del */
  2. #define _XOPEN_SOURCE 700
  3. #include <signal.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <sys/reboot.h>
  7. #include <unistd.h>
  8. void signal_handler(int sig) {
  9. write(STDOUT_FILENO, "cad\n", 4);
  10. signal(sig, signal_handler);
  11. }
  12. int main(void) {
  13. int i = 0;
  14. /* Disable the forced reboot, enable sending SIGINT to init. */
  15. reboot(RB_DISABLE_CAD);
  16. signal(SIGINT, signal_handler);
  17. while (1) {
  18. sleep(1);
  19. printf("%d\n", i);
  20. i++;
  21. }
  22. return EXIT_SUCCESS;
  23. }