Shell flock实用程序文件句柄的选择

Shell flock实用程序文件句柄的选择,shell,unix,locking,flock,Shell,Unix,Locking,Flock,实用工具手册页提供了以下使用示例: ( flock -s 200 # ... commands executed under lock ... ) 200>/var/lock/mylockfile 假设200是锁文件的文件句柄,是否有可能在某些运行期间失败,因为同一文件句柄已被其他进程使用?如果是这样的话,有什么技巧可以确保使用flock进行锁定的工作可靠吗?另一个进程是否也在使用文件描述符200一点也不重要。想想看;系统上的每个进程都有权让文件描述符0、1、2指向某个地

实用工具手册页提供了以下使用示例:

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

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

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

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