不相关的进程如何使用 futex 进行协作?
假设我有不相关的进程,例如,一个是我的模块的 apache 子进程,另一个是例如一个后台脚本。
我想使用 futex 在两者之间建立一个带有互斥锁的条件变量,以利于用户空间的快速代码路径。
在我看来,存储互斥量的内存可能位于 mmap
文件中,如果该内存已映射,例如mlock
这两个进程理论上可以针对同一地址发出 futex 调用。
或者,也许可以使用 FUTEX_FD
将 futex 从一个进程传递到另一个进程。
接受低级、高级和动态语言(C、C++、Python 等)的代码提交。 “健壮的 futex” API 也必须得到支持。
引用资料:
最佳答案
互斥体被定义为锁定对共享资源的访问。 这似乎不是您想要做的。
如果你想让两个进程合作,你可以使用共享的mmap区域,或者信号量
关于linux - 在不相关的进程之间共享 futex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35265781/