📄 signal.h
字号:
#ifndef _LINUX_SIGNAL_H#define _LINUX_SIGNAL_H#include <fairysky/types.h>#define _NSIG 32#define NSIG _NSIG#define SIGHUP 1 //Hang Up -挂断控制终端或进程#define SIGINT 2 //Interrupt -来自键盘的中断#define SIGQUIT 3 //Quit -来自键盘的退出#define SIGILL 4 //Illeagle -非法指令#define SIGTRAP 5 //Trap -跟踪断点#define SIGABRT 6 //Abort -异常结束#define SIGIOT 6 //IO Trap -同上#define SIGUNUSED 7 //Unused -没有使用#define SIGFPE 8 //FPE -协处理器出错#define SIGKILL 9 //Kill -强迫进程终止#define SIGUSR1 10 //User1 -用户信号1,进程可使用#define SIGSEGV 11 //Segment Violation -无效内存引用#define SIGUSR2 12 //User2 -用户信号2,进程可使用#define SIGPIPE 13 //Pipe -管道写出错,无读者#define SIGALRM 14 //Alarm -定时定时器报警#define SIGTERM 15 //Terminate -进程终止#define SIGSTKFLT 16 //Stack Fault -栈出错#define SIGCHLD 17 //Child -子进程停止被迫终止#define SIGCONT 18 //Continue -恢复进程的执行#define SIGSTOP 19 //Stop -停止进程的执行#define SIGTSTP 20 //TTY Stop -tty发出停止进程,可忽略#define SIGTTIN 21 //TTY In -后台进程请求输入#define SIGTTOU 22 //TTY Out -后台进程请求输出/* * Most of these aren't used yet (and perhaps never will), * so they are commented out. *//*#define SIGIO 23#define SIGPOLL SIGIO#define SIGXCPU 24#define SIGXFSZ 25*/#define SIGVTALRM 26#define SIGPROF 27#define SIGWINCH 28/*#define SIGLOST 29*///用于sa_flags#define SA_NOCLDSTOP 1 //当子进程处于停止状态,就不对SIGCHLD处理#define SA_INTERRUPT 0x20000000 //#define SA_NOMASK 0x40000000 //不阻止在指定的信号处理程序中在收到该信号#define SA_ONESHOT 0x80000000 //信号句柄一旦被调用过就恢复到默认处理句柄#define SIG_BLOCK 0 /* for blocking signals */#define SIG_UNBLOCK 1 /* for unblocking signals */#define SIG_SETMASK 2 /* for setting the signal mask *///用于sa_handler#define SIG_DFL ((void (*)(int))0) /* 默认的信号处理程序 */#define SIG_IGN ((void (*)(int))1) /* 忽略信号 */#define SIG_ERR ((void (*)(int))-1) /* error return from signal *///////struct sigaction { void (*sa_handler)(int); //是对应某信号指定要采取的行动,包括SIG_DFL,SIG_IGN sigset_t sa_mask; //给出了对应信号的屏蔽码,在信号程序执行是将阻塞对这些信号的处理。 int sa_flags; //指定改变信号处理过程的信号集。 void (*sa_restorer)(void); //恢复堆栈的函数指针,由libc库提供,用来清理用户态堆栈};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -