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

admin2022-07-04  40

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

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