首页 > 解决方案 > 如何找到使用 _do_fork() 创建新进程的基本例程?

问题描述

我是 Linux 新手,我被分配了这个

在 Linux 内核源代码中,查找 _do_fork(),创建新进程的基本例程

标签: linuxoperating-system

解决方案


首先,您需要知道fork()它将使用系统调用并从名为“sys_fork()”的中断表中找到中断函数,如下所示

SYSCALL_DEFINE0(fork)
{
......
    return _do_fork(SIGCHLD, 0, 0, NULL, NULL, 0);
}

所以fork的核心是_do_fork()

这个函数将做两个主要工作

  • 调用copy_process()内核中进程/线程的复制结构,命名为task_struct
  • 调用wake_up_new()唤醒任务

推荐阅读