/********************************************************************************* * Copyright: (C) 2025 LingYun IoT System Studio * All rights reserved. * * Filename: signal.c * Description: This file signal() example program. * * Version: 1.0.0(10/28/2025) * Author: Guo Wenxue * ChangeLog: 1, Release initial version on "10/28/2025 03:14:34 PM" * ********************************************************************************/ #include #include #include void sig_handler(int signum) { switch(signum) { case SIGINT: printf("Received signal %d(Ctrl+C) , you can not kill me now!\n", signum); break; case SIGTERM: printf("Received signal %d(SIGTERM) , you can not kill me too!\n", signum); break; default: break; } } int main(int argc, char **argv) { // 注册 SIGINT 的处理函数 if (signal(SIGINT, sig_handler) == SIG_ERR) { perror("signal error"); return 1; } // 注册 SIGTERM 的处理函数 signal(SIGTERM, sig_handler); printf("Press Ctrl+C to trigger SIGINT\n"); while (1) { printf("Working...\n"); sleep(2); } return 0; }