2011-12-08 74 views
0

flock实用手册页给出了下面的使用示例:选择文件句柄的

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

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

回答

2

另一个进程是否也在使用文件描述符200并不重要。系统上的每个进程都有权将文件描述符0,1,2指向某处,并且它们并不全都指向相同的地方。重要的是,你的进程不会因为使用文件描述符200而感到不安,并且很少有进程会注意到,更不用担心。

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