【发布时间】:2012-06-06 01:57:06
【问题描述】:
chmod -R -w filename 将删除写权限,但如果程序在拒绝权限之前打开文件,即使我们删除写权限,程序也可以继续写入文件。
有解决这个问题的想法吗?
【问题讨论】:
标签: linux unix file-permissions
chmod -R -w filename 将删除写权限,但如果程序在拒绝权限之前打开文件,即使我们删除写权限,程序也可以继续写入文件。
有解决这个问题的想法吗?
【问题讨论】:
标签: linux unix file-permissions
您可以使用fuser 或lsof 查看哪些进程打开了文件并杀死它们
【讨论】:
尝试复制它并使用新名称而不是旧版本的副本。这可以防止程序更改您可能不想再更改的数据。不过,显而易见的解决方案是简单地终止该程序。
【讨论】:
mv'ing 文件到一个单独的文件系统可能会导致非常奇怪的事情(因为原始文件实际上仍然存在并写入原始文件系统,但不再可见。)
您可以使用mandatory locking,但写入不会因错误而失败,而是被无限期阻止。
但不要忽略第一段:“为什么要避免强制锁定”。
【讨论】:
write在锁被释放之前不会返回。