【问题标题】:Can a process lock a disk so that no other process can access it?一个进程可以锁定磁盘以使其他进程无法访问它吗?
【发布时间】:2011-03-14 22:20:02
【问题描述】:

有没有办法让一个进程锁定整个磁盘,以便在该进程释放锁定之前其他进程无法访问磁盘上的任何文件?其他进程的磁盘 i/o 操作可能会阻塞,直到锁被释放。

有问题的操作系统是 Linux。

【问题讨论】:

  • 好吧,我猜你可以锁定磁盘上的所有文件和文件夹,但这可能会很慢......
  • 锁定磁盘或锁定对磁盘上所有文件的访问?通过 umounting 可以实现锁定文件,你的程序仍然可以通过 /dev/sd* 访问磁盘。 (但其他 IO 会失败)
  • 那么锁定磁盘上的整个目录怎么样?

标签: linux locking disk


【解决方案1】:

由于 Linux 上的所有内容都是文件,因此您应该尝试锁定代表您设备的文件。

【讨论】:

  • 这需要先卸载磁盘,这是不可取的,因为它会导致其他进程的 I/O 操作失败(而不是阻塞,这正是我所追求的)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 2017-02-16
  • 2012-06-28
  • 2013-04-11
  • 2012-10-07
  • 1970-01-01
  • 2023-03-23
相关资源
最近更新 更多