Linux选择题
选择题
1 一个进程是 ( c )。
A、处理机一次或多次执行的一个程序。
B、 一个独立的程序 +数据集。
C、PCB 结构与程序和数据的组合
D、一个独立的程序。
2 一个进程调用 wait 或 waitpid 函数,可能产生 3 中情况,下列不属于这 3 种
情况的是 ( D )。
A、如果所有子进程都还在运行,进程挂起。
B、如果恰有子进程结束,它的终止状态字正等待父进程提取,立即得到该
终止状态字并返回,其返回值为该子进程的进程号。
C、waitpid,如果该进程没有子进程,参3指定了WNOHANG,返回0。
D、如果该进程没有子进程,立即返回,返回值为 0
3 返回调用进程的进程标识号的系统函数是 ( A )。
A、 getpid
B、getpgrp
C、getppid
D、setpid
4 程序和进程是两个不同的概念,以下不能描述这个观点的是 ( B )。
A、程序指出了处理器执行操作的步骤,而进程是一个程序在一个数据集合上
的一次执行。
B、同一个程序运行 10 次,产生的是同一个进程。
C、进程是动态的,是程序的执行过程。
D、多个不同的进程可以包含相同的程序。
5 Fork 函数在父进程中的返回值是 ( A )。
A、创建的子进程的进程标识号
B、0
C、-1
D、1
6 在 Linux 中,下列不属于正常结束进程的方法是 ( D )。
A、在 main 函数中调用 return 。
B、调用 exit 函数 。
C、调用_exit 函数 。
D、调用 abort函数。
7 以下程序的输出结果是( B )
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
int main(int argc, char *argv[])
{
printf("==================start of file\n");
pid_t pid = fork();
if (pid == -1) {
perror("fork error");
exit(1);
} else if (pid == 0) {
printf("---child,my pid is %d,my parent pid is %d\n",getpid(),getppid());
} else if (pid > 0)