12345678910111213141516171819202122232425 |
- #include <signal.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- // 信号处理函数
- void handle_signal(int signal) {
- if (signal == SIGINT) {
- printf("Caught SIGINT (Ctrl+C). Exiting gracefully...\n");
- exit(0); // 终止程序
- }
- }
- int main() {
- // 注册信号处理函数
- signal(SIGINT, handle_signal);
- // 模拟一个长时间运行的进程
- while (1) {
- printf("Running... Press Ctrl+C to stop.\n");
- sleep(5);
- }
- return 0;
- }
|