释放文件锁时如何通知另一个进程?

时间:2019-08-21 18:35:06

标签: linux ipc file-locking flock fcntl

我有一个由两个过程组成的小型应用程序。

进程A下载文件。进程B使用下载的文件。

进程A下载文件时,将获得文件锁定。进程B继续检查正在下载的文件是否已锁定。

下载完成后,进程A释放文件锁,下载的文件可供进程B使用。

在进程B中,我有一个专用线程来检查锁是否已释放。

我想避免连续文件锁定检查的循环。是否有类似于selectpoll系统调用的方法,进程B使用该方法来通知文件锁已释放?

我已经浏览了fcntl,flock的手册页,但是我没有找到一种方法。

1 个答案:

答案 0 :(得分:0)

可以使用IPC实现: Inter-process communication 下载完成后,进程A告诉B它已完成。

或者您可以使用网络连接来通知B,但我不建议这样做。