首页 > 试题广场 >

Linux父进程通过fork函数创建一个子进程,关于这个操作

[单选题]
Linux父进程通过fork函数创建一个子进程,关于这个操作,正确的说法是
  • 执行fork函数会触发系统的异常处理程序
  • 子进程会得到父进程用户级虚拟地址空间的一份拷贝,但不包括父进程打开的文件描述符
  • 当子进程正常执行完毕,会自动退出,这种情况不需要父进程回收子进程
  • 父进程会等待子进程执行结束后再退出

1)fork函数是用来创建进程的,fork之后产生了两个进程,每个进程都会有返回值,
      所以父进程中返回的是子进程的进程号(>0);在子进程中返回0

2)子进程几乎拷贝了父进程的全部内容。
      包括代码、数据、系统数据段中的pc值、栈中的数据、父进程中打开的文件等;但它们的PID、PPID是不同的。

3)父子进程有独立的地址空间,互不影响;当在相应的进程中改变全局变量静态变量,都互不影响。

4)若父进程先结束,子进程成为孤儿进程被init进程收养(此时子进程的父亲就是init),子进程变成后台进程。(init进程号为1)

5)若子进程先结束,父进程如果没有及时回收,子进程变成僵尸进程(要避免僵尸进程产生)

发表于 2022-04-02 23:32:13 回复(0)