⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signal.h

📁 一个用于学习的操作系统
💻 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 + -