sigaction函数学习
生活随笔
收集整理的這篇文章主要介紹了
sigaction函数学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sigaction(查詢或設置信號處理方式)
相關函數 signal,sigprocmask() ,sigpending,sigsuspend, sigemptyset 表頭文件 #include<signal.h> 定義函數 int sigaction(int signum,const struct sigaction *act ,struct sigaction *oldact); 函數說明 sigaction()會依參數signum指定的信號編號來設置該信號的處理函數。參數signum可以指定SIGKILL和SIGSTOP以外的所有信號。 如參數結構sigaction定義如下 struct sigaction { void (*sa_handler)(int); void (*sa_sigaction)(int, siginfo_t *, void *); sigset_t sa_mask; int sa_flags; void (*sa_restorer)(void); }
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
static void int_hander(int s)
{
????printf("Catch a signal sigint\n");
}
int main(void)
{
????int i;
????struct sigaction act,oact;
????act.sa_handler = int_hander;
????sigemptyset(&act.sa_mask); //清空此信號集
????act.sa_flags = 0;
????sigaction(SIGINT, &act, &oact);
????while(1)
????{
????????for(i=0;i<5;i++)
????????{
????????????write(1,".",1);
????????????sleep(1);
????????}
????????write(1, "\n", 1);
????}
????sigaction(SIGINT, &oact, NULL); //恢復成原始狀態
????return 0;
}
相關函數 signal,sigprocmask() ,sigpending,sigsuspend, sigemptyset 表頭文件 #include<signal.h> 定義函數 int sigaction(int signum,const struct sigaction *act ,struct sigaction *oldact); 函數說明 sigaction()會依參數signum指定的信號編號來設置該信號的處理函數。參數signum可以指定SIGKILL和SIGSTOP以外的所有信號。 如參數結構sigaction定義如下 struct sigaction { void (*sa_handler)(int); void (*sa_sigaction)(int, siginfo_t *, void *); sigset_t sa_mask; int sa_flags; void (*sa_restorer)(void); }
轉載于:https://www.cnblogs.com/ch122633/p/7363246.html
總結
以上是生活随笔為你收集整理的sigaction函数学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习笔记-2017.5.4t
- 下一篇: C++ 在字符串中插入子串+推断字符串是