UNIX操作系统中,fork()系统调用用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么输出到屏幕的正确结果是( )。 int main() { pid_t pid pid=fork();

admin2022-06-20  37

问题 UNIX操作系统中,fork()系统调用用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么输出到屏幕的正确结果是(          )。
  int main()
  {
  pid_t pid
  pid=fork();
  if(pid==0)printf("hh\n");
  else if(pid>0)printf("hh\n");
  else printf("hh\n");
  }

选项 A、1行hh
B、2行hh
C、3行hh
D、什么都没有

答案B

解析 fork()函数执行的特点是,只被调用一次,却会返回两次,一次是在调用进程(父进程)中,一次是在新创建的子进程中。在父进程中,fork()返回子进程的pid。在子进程中,fork()返回0。否则出错返回-1。假设程序正确运行并创建子进程成功,那么,子进程中pid得到返回值为0,父进程中pid得到返回值为子进程号,父进程执行一次输出,子进程执行一次输出,故输出2行hh。因此,本题答案选择B选项。
转载请注明原文地址:https://kaotiyun.com/show/B2yZ777K
0

相关试题推荐
最新回复(0)