2011-12-08 99 views
0

flock實用手冊頁給出了下面的使用示例:選擇文件句柄的

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

假設200是鎖定文件的文件句柄,有一些運行過程中失敗的可能性,因爲同文件句柄已被其他進程使用?如果是這樣,是否有任何技巧可以確保鎖定flock可靠地工作?

回答

2

另一個進程是否也在使用文件描述符200並不重要。系統上的每個進程都有權將文件描述符0,1,2指向某處,並且它們並不全都指向相同的地方。重要的是,你的進程不會因爲使用文件描述符200而感到不安,並且很少有進程會注意到,更不用擔心。

鑑於此,不需要任何技巧 - 您只需確保所有需要使用鎖定文件的進程都確實使用它。