c – SIGXFSZ是由内核发送的,除非有什么内容打印到stdout?
我正在学习“Unix环境下的高级编程”,并且在第10章的练习11中遇到了问题. 在我的程序中,我将RLIMIT_FSIZE设置为1024. 所以当写入试图超过该限制时,内核应该将SIGXFSZ发送到我的程序. 但我发现SIGXFSZ不发送,除非打印到stdout的东西. 这是我的代码:
如果我在代码中注释掉以下行,内核将不会传输SIGXFSZ.
为什么会这样?提前致谢.
最佳答案
user3693690在本书附录C中找到了答案:
如果这是Linux内核用来处理SIGXFSZ的方式,那就这样吧,但我觉得这很奇怪. (编辑:百色站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c – Visual Studio交叉编译到Linux
- LINUX实战:Kickstart配置文件超详细解析
- 在同一个Linux目录中有几百个或几千个文件可以(性能方面)吗
- LINUX教程:Ubuntu 16.04下交叉编译ImageMagick
- linux – Bash管道和SIGTERM
- linux-kernel – Linux:使用U-Boot和Flat Image Tree(FIT)
- MPD:使用Linux bash脚本接收实际的mpd-status
- linux – Ubuntu / Mint上的PhpStorm更新
- linux – 有没有办法刷新正在运行的进程的stdout
- 如何使用Linux在Linux机器上获取文件夹的所有者和组?