gpt4 book ai didi

c++ - 使用 fork() C++ 操作共享内存中的字符串

转载 作者:行者123 更新时间:2023-11-28 03:21:35 24 4
gpt4 key购买 nike

我在共享内存中有一个字符串 (fileContents),它由 9 行组成:

sprintf(shared_memory, fileContents.c_str());

我想调用 fork() 来创建与行数相同的进程。这些进程将操纵每一行。但是,我不知道在调用 fork() 时从哪里开始。我看过的每个示例都只包括返回父进程和子进程的进程 ID,而不是显示进程如何或何时执行某些操作。

任何指导将不胜感激,谢谢!

最佳答案

Every example I have looked at just consists of returning the process ID of parents and child processes

这是不正确的。

父进程将获得子进程的进程 ID,但子进程将知道它是子进程,因为 fork() 返回 0。

此代码将 fork 9 次,每个 child 都做特定的工作。

for( int line = 1; line <= 9; ++line ) // *cough*
{
if ( fork() == 0 )
{
// Child process. Handle line, and exit()
}
}

关于c++ - 使用 fork() C++ 操作共享内存中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15279262/

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