java吐核_程序运行提示 退出(吐核)

/* sigactdemo.c

* purpose: shows use of sigaction()

* feature: blocks ^\ while handling ^C

* does not reset ^C handler, so two kill

*/

#include

#include

#define INPUTLEN 100

main()

{

struct sigaction newhandler; /* new settings */

sigset_t blocked; /* set of blocked sigs */

void inthandler(); /* the handler */

char x[INPUTLEN];

/* load these two members first */

newhandler.sa_handler = inthandler; /* handler function */

newhandler.sa_flags = SA_RESETHAND | SA_RESTART; /* options */

/* then build the list of blocked signals */

sigemptyset(&blocked); /* clear all bits */

sigaddset(&blocked, SIGQUIT); /* add SIGQUIT to list */

newhandler.sa_mask = blocked; /* store blockmask */

if ( sigaction(SIGINT, &newhandler, NULL) == -1 )

perror("sigaction");

else

while( 1 ){

fgets(x, INPUTLEN, stdin);

printf("input: %s", x);

}

}

void inthandler(int s)

{

printf("Called with signal %d\n", s);

sleep(s);

printf("done handling signal %d\n", s);

}

Unix/Linux系统编程实践教程一书P205页例子,上面使用函数sigaction,主要是演示在处理SIGINT(ctrl + C)时阻塞SIGQUIT(ctrl + ),搜了下结构体sigcation中sa_mask的作用是要阻塞的信号当在处理时,因此用sigaddset等函数添加了SIGQUIT信号,可是执行时却报错

[root@centos-linux-7 CH07]# ./sigactdemo

^\退出(吐核)

[root@centos-linux-7 CH07]# gcc -v

使用内建 specs。

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper

目标:x86_64-redhat-linux

配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux

线程模型:posix

gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)

[root@centos-linux-7 CH07]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值