Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
实用程序手册页提供了以下flock使用示例:
flock
( flock -s 200 # ... commands executed under lock ... ) 200>/var/lock/mylockfile
假设200是锁定文件的文件句柄,是否有可能在某些运行期间失败,因为同一个文件句柄已被其他进程使用?如果是这样,是否有任何技巧可以确保锁定flock可靠地工作?
200
另一个进程是否也在使用文件描述符 200 无关紧要。考虑一下;系统上的每个进程都有权让文件描述符 0、1、2 指向某个地方,并且它们并不都指向同一个地方。重要的是您的进程不会因为使用文件描述符 200 而感到不安,而且很少有进程会注意到,更不用说关心了。
鉴于此,不需要任何技巧 - 您只需确保需要使用锁定文件的所有进程都确实使用它。