【发布时间】:2016-07-26 15:16:53
【问题描述】:
我正在开发一种用于核心转储处理的工具。使用sysctl 我将其设置为获取工具输入的核心转储。一切都很好。但是今天我遇到了(我不知道为什么)coredump被破坏的情况。当我将常规文件设置为 coredumps 目标时 - 它不会出现。所以 - 我认为它由于某种原因坏了。当我设置我的工具 tee - 没有结果。
所以。我想确定这种情况(如果可能的话)并记录它而不是生成损坏的文件。
我正在使用::read(STDIN_FILENO,buff, buffSize) 来获取数据。最后read 只需返回0。我想指出0 何时表示文件结束,何时表示管道损坏。
【问题讨论】:
-
你检查
read调用的结果了吗? -
是的,我在最初的消息中写到了这一点。结果为零。
-
"最后它只是返回
0" 听起来你在抱怨buff最后有零。下次请生成minimal reproducible example。对,那么,有什么问题吗?如果你得到0,管道坏了....缺少什么? -
我想指出
0何时表示文件结束,何时表示管道损坏。