signal函数的问题
最近学习signal函数,写了一个例程:
以上运行没什么问题,但我改了一行,让signal去监听不存在的信号。
结果下面一行的文件打开就出错了。
文件打开:22, Invalid argument
请问是什么原理导致的啊?
void err(int i)
{
printf("Core dump啦 原因码为[%d]\n",i);
}
int main()
{
signal(SIGSEGV, err);
int fd;
if ((fd = open("cfg", O_RDWR)) < 0)
{
printf("文件没打开\n");
exit(1);
}
printf("文件打开:%d, %s\n",errno,strerror(errno));
sprintf(0,"bad");
return 0;
}
以上运行没什么问题,但我改了一行,让signal去监听不存在的信号。
signal(150, err);
结果下面一行的文件打开就出错了。
文件打开:22, Invalid argument
请问是什么原理导致的啊?
...全文
相关推荐
解决Python设置函数调用超时,进程卡住的问题
今天小编就为大家分享一篇解决Python设置函数调用超时,进程卡住的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Linux环境下使用signal函数进行进程间通信的问题
#include<stdio.h> #include<signal.h> #include<unistd.h> #include<stdlib.h> int wait_mark; void waiting(), stop(); int main(int argc, char *argv[]) { int p1, p2; signal(...
Code-Signal-Excercises:我用JS编写的代码信号问题解决方案
代码信号练习 这是我在中进行面试的一些练习的JS答案 当前解决的练习清单是:
signal函数的使用
signal系统函数调用提供了一种最简单的范例。然而,由于C原形声明的缘故使它看起来比实际复杂。signal函数将一个给定的函数和一个特定的信号联系。这里是FreeBSD中的定义(和一个typedef一起):
signal_final
signal_final


