Tag: 克隆

clone()后通过指针访问父级中的变量

我很抱歉可能会问一个愚蠢的问题,但我是C的血腥初学者。现在我的问题是,我需要在子进程中访问两个变量,在main中声明并修改它们。 听起来很简单,但我必须使用克隆,并在将变量反向转换到我的数组之后,它们完全搞砸了关注值。 int main (){ uint64_t N = 10000000; uint64_t tally = 0; int status; void** child_stack = (void**)malloc(65536); uint64_t** package = (uint64_t**)malloc(sizeof(uint64_t*)*2); package[0] = &tally; package[1] = &N; pid_t cpid; cpid = clone(child_starter, &child_stack, CLONE_VM , (void*)package); waitpid(cpid, &status, __WCLONE); return 0; } child_starter函数如下所示: int child_starter(void* package){ printf( “Tally is in the child %” […]

如何使用clone()使父进程和子进程同时运行?

我是linux的新手。 我想同时制作子进程和父进程。 但我失败了。 这是我的代码。 有谁能够帮我? #define _GNU_SOURCE #include #include #include #include #include #define FIBER_STACK 8192 void * stack; int do_something(){ int a = 0; while (a<10){ printf("pid : %d, a = %d\n", getpid(), a++); } exit(1); } int main() { void * stack; stack = malloc(FIBER_STACK); if(!stack) { printf("The stack failed\n"); exit(0); } int a […]