如果我要在一台机器上debugging一个服务,并且确定写入失败了,我怎么能检查写入失败的原因?
我知道C中的系统调用将返回-1,然后我们可以检查int errno包含的常量( EINVAL等)。 但是,如果我不能检查这个问题,我将如何去检查错误的原因? 在这种情况下,dmesg会在块设备级别显示错误吗?
如果写入失败与磁盘I / O错误相关,那么对于发生故障的磁盘,则很可能在dmesg输出中发现来自内核的错误消息。
但是,如果没有这样的症状,你应该首先排除最简单的解释:
/var/log/audit/目录中的审计日志。