xref: /DragonOS/user/apps/test_sigint/main.c (revision a8753f8fffb992e4d3bbd21eda431081b395af6b)
1 #include <stdio.h>
2 #include <signal.h>
3 #include <unistd.h>
4 #include <stdlib.h>
5 
6 // 信号处理函数
handle_signal(int signal)7 void handle_signal(int signal)
8 {
9     if (signal == SIGINT)
10     {
11         printf("Caught SIGINT (Ctrl+C). Exiting gracefully...\n");
12         exit(0); // 终止程序
13     }
14 }
15 
main()16 int main()
17 {
18     // 注册信号处理函数
19     signal(SIGINT, handle_signal);
20 
21     // 模拟一个长时间运行的进程
22     while (1)
23     {
24         printf("Running... Press Ctrl+C to stop.\n");
25         sleep(5);
26     }
27 
28     return 0;
29 }
30