我是靠谱客的博主 无私含羞草,最近开发中收集的这篇文章主要介绍signal系列之SIGQUIT,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. 看下面的 demo:


编译链接并运行的结果如下:



  1. SIGQUIT 信号对应的 signo = 03,表示用户从键盘按下quit键,即 ctrl+ ,进程在收到 SIGQUIT 退出时会产生 core 文件,在这个意义上类似于一个程序错误信号。
  1. 从编译运行的结果来看,在SIGQUIT信号处理函数中将该信号的处理函数恢复为默认的处理函数之后,在产生 SIGQUIT 信号之后退出了,但也产生了一个 coredump 文件core。
(1)但一般情况下,ubuntu 默认不创建core文件,需要用命令 ulimit -c unlimited ,从而允许产生core dump且core问阿金大小不受限制,然后在可执行文件的同一目录下可以找到了。但当前设置的 ulimit 只对当前会话有效,若想系统均有效,则需要进行如下的设置:在 /etc/profile 中加入以下一行
ulimit -c unlimited

(2)那么如何使用 core 文件查看程序的错误信息呢?
编译: gcc -Wall -Werror -o test -g test.c

(3)调用 gdb ./test core 来查看程序的错误信息
如下截图所示,提示是因为 SIGQUIT 信号产生的 core dump












最后

以上就是无私含羞草为你收集整理的signal系列之SIGQUIT的全部内容,希望文章能够帮你解决signal系列之SIGQUIT所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部