Signal函数
Signal函数:
这个函数是一种系统调用,就是告诉系统发生中断的时候用该干嘛。第一个参数就是信号的编号,第二个参数就是信号的指针。
原型:
#include <signal.h> void ( *signal(int sig, void (*handler)(int)) ) (int);
第一个参数sig:要传入需要修改处理函数的信号编号。
第二个参数:是一个无返回值类型,接受一个int形参的函数指针,指向对sig信号的新处理函数。
第二个参数有三种选择:
1.自己定义的信号处理函数
2.传入SIG_DEF表示将之前signal所改变的信号处理方式还原
3.传入SIG_IGN表示处理方式为忽略信号,内核会直接将信号丢弃,不会传递给进程
SIGHUP 挂起信号 SIGINT 中断信号 SIGQUIT 退出信号 SIGILL 非法指令 SIGTRAP 跟踪/断点中断 SIGABRT 放弃 SIGFPE 浮点异常 SIGKILL 删除(不能捕获或者忽略) SIGBUS 总线错误 SIGEGV分段错误 SIGSYS 系统调用错误参数 SIGPIPE 管道错误 SIGALRM 闹钟 SIGTERM 软件终止 SIGUSR1 用户信号1 SIGUSR2 用户信号2 SIGCHLD子状态改变 SIGPWR 功能失败/重新启动 SIGWINCH 窗口大小改变 SIGUGR 紧急网络界面接口条件 SIGPOLL 可修改的事件发生 SIGSTOP 停止(不能捕获或忽略) SIGTSTP 用户停止请求 SIGCONT停止的进程继续进行 signal(SIGHUP, SIG_IGN);
我每天都在努力,只是想证明我是认真的活着.