0

实用程序手册页提供了以下flock使用示例:

(
    flock -s 200
    # ... commands executed under lock ...
) 200>/var/lock/mylockfile

假设200是锁定文件的文件句柄,是否有可能在某些运行期间失败,因为同一个文件句柄已被其他进程使用?如果是这样,是否有任何技巧可以确保锁定flock可靠地工作?

4

1 回答 1

2

另一个进程是否也在使用文件描述符 200 无关紧要。考虑一下;系统上的每个进程都有权让文件描述符 0、1、2 指向某个地方,并且它们并不都指向同一个地方。重要的是您的进程不会因为使用文件描述符 200 而感到不安,而且很少有进程会注意到,更不用说关心了。

鉴于此,不需要任何技巧 - 您只需确保需要使用锁定文件的所有进程都确实使用它。

于 2011-12-08T02:13:57.163 回答