摘要:
当用户态调用fork系统函数时,会调用sys_fork,在sys_fork函数内会调用return do_fork(SIGCHLD, regs.esp, ®s, 0, NULL, NULL);其中SIGCHLD表示当创建的子进程退出时,会发送SIGCHLD信号到父进程,如果父进程有调用wait函数就会回收分配给子进程的资源。do_fork要做以下的内容:1. 调用函数alloc_pidmap分配pid号,从最后last这个全局变量+1作为这次的pid号。2. 判断current->ptrace,这里的语句是if (unlikely(current->ptrace))是 阅读全文