我正在開發一個coredump處理工具。使用sysctl
我將它設置爲在工具的輸入上獲取coredump。一切都很好。但是今天我面對的情況是(我不知道爲什麼)coredump壞了。當我將常規文件設置爲coredumps目標時 - 它不會出現。所以 - 我認爲它出於某種原因被打破了。當我安裝而不是我的工具tee
- 沒有結果。如何確定輸入(stdin)被破壞?
所以。我想確定這種情況(如果可能的話)並記錄它,而不是生成破損的文件。
我使用::read(STDIN_FILENO,buff, buffSize)
來獲取數據。並在結束read
只是返回的0
。我想指出什麼時候0
意味着文件結束,什麼時候意味着管道損壞。
您是否檢查過'read'調用的結果? –
是的,我在最初的消息中寫到了這件事。結果爲零。 「 – denys
」結束它只是返回的'0'「聽起來像你抱怨'buff'在最後零。請下次製作[MCVE]。對,那麼問題是什麼?如果你得到'0',管道就壞了......缺少什麼? –