我正在开发一个coredump处理工具。使用sysctl
我将它设置为在工具的输入上获取coredump。一切都很好。但是今天我面对的情况是(我不知道为什么)coredump坏了。当我将常规文件设置为coredumps目标时 - 它不会出现。所以 - 我认为它出于某种原因被打破了。当我安装而不是我的工具tee
- 没有结果。如何确定输入(stdin)被破坏?
所以。我想确定这种情况(如果可能的话)并记录它,而不是生成破损的文件。
我使用::read(STDIN_FILENO,buff, buffSize)
来获取数据。并在结束read
只是返回的0
。我想指出什么时候0
意味着文件结束,什么时候意味着管道损坏。
您是否检查过'read'调用的结果? –
是的,我在最初的消息中写到了这件事。结果为零。 “ – denys
”结束它只是返回的'0'“听起来像你抱怨'buff'在最后零。请下次制作[MCVE]。对,那么问题是什么?如果你得到'0',管道就坏了......缺少什么? –