面试题答案
一键面试- 信号处理函数基本结构:
- 在C语言中,信号处理函数的基本结构通常如下:
void signal_handler(int signum) { // 处理信号的代码 }
- 其中,
int signum
是传递给信号处理函数的参数,它标识了接收到的信号类型。在信号处理函数内部,可以编写针对特定信号的处理逻辑。
- 为SIGINT信号编写简单信号处理函数示例:
#include <stdio.h> #include <signal.h> // 信号处理函数 void sigint_handler(int signum) { printf("Received SIGINT signal.\n"); } int main() { // 设置SIGINT信号的处理函数 signal(SIGINT, sigint_handler); printf("Press Ctrl + C to send SIGINT signal.\n"); while(1); return 0; }
- 在上述代码中:
- 首先定义了
sigint_handler
函数作为SIGINT信号的处理函数,在该函数中,只是简单地在控制台打印一条信息表明接收到了SIGINT信号。 - 在
main
函数中,使用signal
函数将sigint_handler
函数注册为SIGINT信号的处理函数。 - 然后通过一个无限循环
while(1)
使程序保持运行状态,以便可以接收SIGINT信号(通过按下Ctrl + C触发)。
- 首先定义了
- 在上述代码中: