常用代码示例¶
1 信号处理¶
当你在 C 语言中编写程序时,你可以使用信号处理来捕获和处理操作系统发送的不同信号。这些信号可以用于通知程序发生了某些事件,如键盘中断、程序错误等。以下是一个简单的 C 语言信号处理示例,演示了如何在程序中处理SIGINT
信号(即键盘中断,通常由 Ctrl+C 触发):
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
// 定义信号处理函数
void handle_signal(int signum) {
if (signum == SIGINT) {
printf("Received SIGINT (Ctrl+C) signal. Exiting...\n");
exit(0);
}
}
int main() {
// 注册信号处理函数
signal(SIGINT, handle_signal);
printf("Running. Press Ctrl+C to exit.\n");
// 模拟程序运行,可以用于测试信号处理
while (1) {
// 空循环
}
return 0;
}
在这个示例中,我们首先定义了一个handle_signal
函数作为信号处理程序。当程序收到SIGINT
信号(即 Ctrl+C)时,该函数会打印一条消息并调用exit
函数来退出程序。
然后,在main
函数中,我们使用signal
函数来注册我们定义的信号处理函数,告诉操作系统当SIGINT
信号发生时要调用handle_signal
函数。