我假设我可以用来/dev/full
模拟我的程序的完整磁盘情况。
但是,我意识到还可能发生不同的错误:
Disk quota exceeded
两者有什么区别?我应该以编程方式区别对待它们吗?
欢迎任何建议。
答案1
这些错误是不言自明的。
“设备上没有剩余空间”的确切含义是:尝试写入设备时由于没有打开的扇区或块可供写入而受阻到。
“超出磁盘配额”也正是它所说的意思:如果系统管理员对用户有权占用的空间量建立了限制,并且尝试超过该限制,则会因此错误而被取消。
答案2
理解这个概念需要一些背景知识quota
quota
是 Linux 内核的一项功能,用于强制限制可用磁盘空间。quota
不是默认设置,必须由管理员设置,它是一个逻辑概念。当管理员配置quota
设置时,他们可以指定软限制和硬限制、设置空间使用警告,甚至禁止对磁盘进行更多写入。quota
旨在防止通过基于权限/警告的系统完全消耗磁盘上的所有块。
查看手册页了解更多详细信息:https://linux.die.net/man/1/quota