我想使用克隆功能的命名空间功能.阅读联机帮助页,看起来克隆有许多我需要担心的错综复杂的细节.
是否有一个等效的克隆调用好ol’fork()?
我已经熟悉fork了,相信如果我有克隆的起点,我可以从那里添加标志和选项.
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 );
在flags参数中,它的低字节用于指定发送哪个信号以通知线程的父节点执行死亡或停止等操作.我相信所有的实际标志都会打开与fork不同的开关.查看内核代码表明情况就是这样.
如果你真的想得到一些接近fork的东西,你可能想调用不带函数指针的sys_clone,而是像fork一样返回两次.