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);
posted @ 2018-07-06 11:32  勿忘初心0924  阅读(770)  评论(0编辑  收藏  举报