填空题
1、进程的属性保存在一个被称为(PCB)的结构体中,这个结构体中包括(进程控制符)、进程组、进程环境、进程的运行状态等
2、进程在内存中可能会出现不同的状态,通常进程的状态被划分为5种:初始态、(就绪态)(运行态)(挂起态)(终止态)
3、Linux系统中的进程结构类似树形结构,使用(pstree)命令可以查看当前系统中的进程树。进程树的顶端是进程(init),他是系统启动后创建的第一个进程。
4、调用fork()函数成功创建子进程后,父进程中的fork()函数会返回(子进程的pid),子进程中的fork()函数会返回(0)
5、若在程序中通过如下所示的循环创建进程,循环结束后,会创建(31)个子进程
判断题
1、进程是程序的一次执行过程(对)
2、exec函数族的功能是:根据指定的文件名或路径找到可执行文件,用该文件取代调用该函数的进程中的程序,再从该文件的Main()函数开始执行文件的内容。(对)
3、解决僵尸进程的方法是终止其父进程,使其变为孤儿进程(对)
4、fork()函数执行后,系统会立刻为子进程复制一份父进程的资源(错)
Linux系统中的进程机制采用”读时共享,写时复制“的原则,在子进程创建之处不会复制父进程的全部资源。
5、进程同步机制中的waitpid()函数和wait()函数用于使父进程阻塞等待子进程终止,将子进程进行回收,因此当父进程中调用了这两个函数时,就不会再有僵尸进程产生。(错)
wait()函数会在有子进程终止时立刻返回,waitpid()函数的以此调用只能回收一个子进程,若因此若子进程数量不唯一时,父进程中调用以此wait()和waitpid(),并不一定能回收所有子进程,也就无法保证所有子进程都被回收,没有僵尸进程产生。
单选题
1、在程序中调用fork()函数创建进程,父子进程会获取不同的返回值。下面关于fork()函数的说法错误的是(若子进程创建成功,子进程的fork()返回子进程pid,父进程的fork()返回0)
2、(kill)无法查看进程的信息
kill命令的功能是通过向进程发送信号控制进程行为
3、(waitpid(pid,&status,0)可以等待接收进程号为pid的子进程的退出状态,=。
waitpid()函数的第一个参数大于0时,表示回收pid等于该参数的进程,所以猜出C\D,若waitpid的第三个参数options为0,waitpid()函数功能与wait()函数功能相同,都阻塞等待子进程的返回状态;若options为WNOHANG,表示子进程尚若未终止,父进程不阻塞等待,立刻返回,因此排除B,选择A
4、从后台启动进程,应在命令后添加()符号