>我有一个由两个进程组成的小应用程序。
进程 A 下载文件。进程 B 使用下载的文件。
当进程 A 下载文件时,它会获取该文件上的文件锁定。进程 B 不断检查正在下载的文件是否已锁定。
下载完成后,进程 A 将释放文件锁定,下载的文件可供进程 B 使用。
在进程 B 中,我有专门的线程来检查锁是否已释放。
我想避免连续文件锁定检查的循环。有没有一种类似于select
或poll
系统调用的方法,使用哪个进程 B 收到有关文件锁定被释放的通知?
我已经探索了fcntl的手册页,蜂拥而至,但我没有找到一种方法。
可以使用IPC实现: 进程间通信 完成下载后的进程 A 告诉 B 它已完成。
或者你可以使用网络连接来通知B,但我不建议这样做。