gpt4 book ai didi

C、进程、fork

转载 作者:行者123 更新时间:2023-11-30 20:07:23 30 4
gpt4 key购买 nike

如何更改程序,以便函数 function_delayed_1function_delayed_2 仅同时执行一次:

 int main(int argc, char *argv[]) {
printf("message 1.\n");
fork();
function_delayed_1();
function_delayed_2();
printf("message 2.\n");
}

最佳答案

阅读fork的man页,并google一些fork();的例子,你的代码应该如下:

#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
pid_t pid; // process ID

printf("message 1.\n");
pid = fork();
if (pid < 0) {
perror("fork");
return;
}

if (pid == 0) {
function_delayed_1(); // child process
}
else {
function_delayed_2(); // parent process
}
printf("message 2.\n");
}

关于C、进程、fork,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14120422/

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