【问题标题】:How to lock a file in linux/unix by a java program? [duplicate]如何通过 java 程序锁定 linux/unix 中的文件? [复制]
【发布时间】:2014-02-20 06:25:56
【问题描述】:

我需要在 unix/linux 操作系统中锁定一个文件。我用谷歌搜索并阅读了 java.nio.channels FilelockReentrant File Lock 。但两者都适用于 Windows,但不适用于 unix。有没有其他方法可以在 unix 中实现文件锁定?任何示例代码都将受到高度赞赏。

谢谢, 维涅什

【问题讨论】:

  • 除了 java.nio.channels 文件锁还有什么方法可以做文件锁吗?
  • 根据此链接Unix locks are ADVISORYstackoverflow.com/questions/1040828/…
  • 你能解释一下这个要求吗?你想要什么样的锁。您是要防止您的文件被删除还是要锁定您的文件以使其他进程无法写入/读取它?
  • 我需要一个可以防止其他进程读写操作的锁
  • 没有这样的东西;锁是建议性的。如果其他进程不使用与您的进程相同的锁定原语/方法进行合作,它可以访问它想要的所有文件,而您对此无能为力。

标签: java linux file-locking


【解决方案1】:

你可以看看这个(与 java 无关的)帖子 - https://unix.stackexchange.com/questions/20104/is-there-any-way-to-prevent-deletion-of-certain-files-from-user-owned-directory

它包含 2 个解决方案 - 要么通过 root chowning 文件并设置粘性位,要么使用 ext2/3/4 特定属性。

这两种解决方案都可以使用 System.exec() 从 java 中实现

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2014-04-10
    相关资源
    最近更新 更多