gpt4 book ai didi

交叉内存连接。如何从子进程获取远程地址到父进程

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:16 26 4
gpt4 key购买 nike

Linux 内核版本 3.2 还具有称为交叉内存连接的功能。

这是它的链接。在这方面我没能得到很多帮助。 http://man7.org/linux/man-pages/man2/process_vm_readv.2.html

在语法中,我们需要要写入或读取的远程内存的地址。我的问题是,如果我使用 fork(),我如何获得这个远程内存的地址。

假设我使用跨内存附加从父进程向子进程发送一些东西。如何将远程内存的地址从子进程发送到父进程?

最佳答案

系统调用 process_vm_readvprocess_vm_writev 用于进程间的快速数据传输。除了一些传统的进程间通信方式之外,还应该使用它们。

例如,您可以使用常规管道或 fifo 在进程之间传输所需的地址。然后您可以使用这些地址建立更快的 process_vm_ 通信。在 fork 进程之间传输某些东西的最简单方法应该是 pipe() 函数(man 2 pipe 有一个很好的用法示例)。当然还有很多其他方法可以做到这一点,比如使用套接字或消息。您甚至可以将地址写入文件并让其他进程读取它。

关于交叉内存连接。如何从子进程获取远程地址到父进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17324564/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com