相关疑难解决方法(0)

如何退出子进程 - _exit()与exit

请考虑以下代码段:

pid_t cpid = fork();

if (cpid == -1) {
    perror("fork");
    exit(EXIT_FAILURE);
}

if (cpid == 0) { // in child
    execvp(argv[1], argv + 1);
    perror("execvp");
    _exit(EXIT_FAILURE);
}

// in parent
Run Code Online (Sandbox Code Playgroud)

如果execvp返回,我该如何退出子进程?我应该使用exit()或_exit()吗?

c fork process

44
推荐指数
2
解决办法
5万
查看次数

分叉 - 相同的内存地址?

这是关于Linux中的C语言.

fork()main()哪里创建了2个子进程.然后,在两个子进程中运行一个函数abc(),其中有一个局部变量x.我在里面写了一些价值.然后我打印这个变量的地址printf("%p",&x).

两个进程都打印SAME地址.我以为每个孩子都得到父母记忆的(独立)副本.我需要每个进程都有自己的变量x.我怎么能这样做或者我做错了什么?

c linux fork

14
推荐指数
2
解决办法
5913
查看次数

标签 统计

c ×2

fork ×2

linux ×1

process ×1