克隆相当于fork?

Sté*_*hen 6 c linux fork

我想使用该clone函数的命名空间功能.阅读该联机帮助页,似乎clone有许多我需要担心的错综复杂的细节.

有没有相同的clone调用好'ol' fork()

我已经熟悉了fork,并且相信如果我有一个起点clone,我可以从那里添加标志和选项.

nat*_*ose 2

我认为这会起作用,但我不完全确定某些指针参数。

pid_t child = clone( child_f, child_stack, 
           /* int flags                */     SIGCHLD, 
           /* argument to child_f      */     NULL,
           /* pid_t *pid               */     NULL,
           /* struct usr_desc * tls    */     NULL,
           /* pid_t *ctid              */     NULL );
Run Code Online (Sandbox Code Playgroud)

在 flags 参数中,它的低字节用于指定发送哪个信号来通知父线程执行诸如死亡或停止之类的操作。我相信所有实际标志都会打开与 不同的开关fork。查看内核代码表明情况确实如此。

如果你真的想得到一些接近的东西,fork你可能想要调用sys_clone它,它不接受函数指针,而是像 一样返回两次fork