sigaction实例

sigaction实例#include#include#include#include#include#include#include#include#include#include#include staticvoidsignal_handle(intsign){       printf(“Test:Systemsignal(%d

大家好,又见面了,我是你们的朋友全栈君。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <unistd.h>

#include <sys/types.h>

#include <errno.h>

#include <time.h>

#include <sys/stat.h>

#include <sys/fcntl.h>

#include <syslog.h>

#include <signal.h>

 

static void signal_handle(int sign)

{

       printf(“Test:System signal(%d) received,exit \n”,sign);

       exit(0);

}

void signal_oact(int sign)

{

       printf(“Test:in signal_oact”);

}

void signal_set()

{

       struct sigaction act,old_act;

       //act

       act.sa_handler = signal_handle;

       sigemptyset(&act.sa_mask);

       act.sa_flags = 0;

       //oact

       old_act.sa_handler = signal_oact ;

       //

       if(sigaction(SIGHUP,&act,&old_act) <0)

       {

               printf(“FATAL errorfor sigaction in function signal_set \n”);

                exit(-1);

       }

       sigaction(SIGSEGV,&act,NULL);

       sigaction(SIGINT,&act,&old_act);

       sigaction(SIGTERM,&act,NULL);

       sigaction(SIGQUIT,&act,NULL);

       return;

}

 

int main()

{

       signal_set();

       while(1)

       {

                printf(“test:waitsignal\n”);

                sleep(1);

       }

       return 0;

}

运行后,执行ctrl+c命令,产生一个SIGINT信号,程序会执行 signal_handle函数

SIGINT信号,程序终止(interrupt)信号,在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141109.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 中国电信广东DNS服务器[通俗易懂]

    中国电信广东DNS服务器[通俗易懂]1中国电信广州用户(包括番禺、增城、从化等区电信用户)“首选DNS服务器”为:61.144.56.100“备用DNS服务器”为:61.144.56.101这个经过测试确实是目前最快最有效的DNS服务器。2中国电信深圳用户“首选DNS服务器”为:202.96.128.86“备用DNS服务器”设置为:202.96.128.1663中国电信广东省其他地区用户(包括佛山、中山、江…

  • leetcode-2两数相加[通俗易懂]

    leetcode-2两数相加[通俗易懂]原题链接给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9

  • Xmind快捷键笔记

    Xmind快捷键笔记

  • 方便查找规范的搜索引擎_查找免费图像的7个最佳搜索引擎「建议收藏」

    方便查找规范的搜索引擎_查找免费图像的7个最佳搜索引擎「建议收藏」方便查找规范的搜索引擎photocredit:MarkWheadon(cc)照片来源:MarkWheadon(cc)Sincethebirthofthedigitalcamera,therehascertainlyneveranyshortageofphotoimagery.Infact,Yahoo!estimateswe’llta…

  • WinRAR去除广告

    WinRAR去除广告WinRAR5.40去除广告方法,屏蔽广告弹窗方法,亲测有效winrar5.50去广告教程(仅供学习使用)[Windows]自己动手winRAR去广告删代码

  • ECshop二次开发「建议收藏」

    ECshop二次开发「建议收藏」1.ECShop之更改商城楼层显示:ECShop原来楼层显示效果:根据现在的楼层需要添加新的一类楼层:①登录商城后台依次打开商品管理=》商品分类,此时对应模块的楼层如图所示:②编辑需要添加分类,将“在频道首页显示该二级分类”选项更改为显示:③刷新前端,对应页面的分类显示数据就显示出来了…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号