c – SIGXFSZ是由内核发送的,除非有什么内容打印到stdout?
我正在学习“Unix环境下的高级编程”,并且在第10章的练习11中遇到了问题. 在我的程序中,我将RLIMIT_FSIZE设置为1024. 所以当写入试图超过该限制时,内核应该将SIGXFSZ发送到我的程序. 但我发现SIGXFSZ不发送,除非打印到stdout的东西. 这是我的代码:
如果我在代码中注释掉以下行,内核将不会传输SIGXFSZ.
为什么会这样?提前致谢.
最佳答案
user3693690在本书附录C中找到了答案:
如果这是Linux内核用来处理SIGXFSZ的方式,那就这样吧,但我觉得这很奇怪. (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- LINUX入门:CentOS 7 配置本地yum 源
- linux – 为什么将根文件写入不属于root的目录是不好的?
- awk中的字段分隔符可以包含多个字符吗?
- 使用quadmath的G 4.6.3 Linux中的四倍精度
- linux – RHEL7 – /usr/lib64 / libstdc .so.6:版本“CXX
- regex – sed – 删除大型csv文件中引号内的引号
- gawk FS将记录分成单个字符
- Getting over the dangers of rm command in Linux---refer
- curl – 无法打开CouchDB附件
- linux – 在日期范围内查找终端中的文件