| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux编程基础:第6章Linux进程管理 课后习题 -> 正文阅读 |
|
[系统运维]Linux编程基础:第6章Linux进程管理 课后习题 |
《Linux编程基础》黑马程序员/编著?清华大学出版社 目录 1、编写程序,在程序中创建一个子进程,使父子进程分别打印不同的内容。 2、编写程序,在程序中创建一个子进程,使子进程通过exec更改代码段,执行cat命令。 一、填空题1、进程的属性保存在一个被称为(进程控制块/PCB)的结构体中,这个结构体中包括(进程控制符/PID)、进程组、进程环境、进程的运行状态等。 2、进程在内存中可能会出现不同的状态,通常进程的状态被划分为五种:初始态、(就绪态)、(运行态)、(睡眠/挂起态)和终止态。
3、Linux系统中的进程结构类似树形结构,使用(pstree)命令可以查看当前系统中的进程树。进程树的顶端是进程(init),它是系统启动后创建的第一个进程。
4、调用fork()函数成功创建子进程后,父进程中的fork()函数会返回(子进程的pid),子进程中的fork()函数会返回(0)。 5、若在程序中通过如下所示的循环创建进程,循环结束后,该进程会创建(-1(或31))个子进程。
二、判断题1、进程是程序的一次执行过程。(√) 2、exec函数族的功能是:根据指定的文件名或路径,找到可执行文件,用该文件取代调用该函数的进程中的程序,再从该文件的main()函数开始,执行文件的内容。(√) 3、解决僵尸进程的方法是终止其父进程,使其变为孤儿进程。(√)
4、fork()函数执行后,系统会立刻为子进程复制一份父进程的资源。(×)
5、进程同步机制中的waitpid()函数和wait()函数用于使父进程阻塞等待子进程终止,将子进程进行回收,因此当父进程中调用了这两个函数时,就不会再有僵尸进程产生。(×)
三、单选题1、在程序中调用fork()函数创建进程,父子进程会获取不同的返回值,下面关于fork()函数的说法,错误的是。(B) A、若子进程创建成功,父进程的fork()返回子进程pid,子进程的fork()返回0。 B、若子进程创建成功,子进程的fork()返回子进程pid,父进程的fork()返回0。 C、若子进程创建失败,父进程的fork()函数返回-1。 D、若子进程创建成功,子进程将从fork()函数调用处之后的代码开始执行。
2、下列哪种方法无法查看进程的信息。(C) A、ps B、top C、kill D、查看/proc目录
3、下列哪种方法可以等待接收进程号为pid的子进程的退出状态。(A) A、waitpid(pid,&status,0) B、waitpid(pid,&status,WNOHANG) C、waitpid(-1,&status,0) D、waitpid(-1,&status,WNOHANG)
4、函数waitpid()的返回值等于0时表示的含义是(C)。 A、等待的子进程已终止 B、终止的子进程不唯一 C、使用选项WNOHANG,且没有子进程退出 D、调用异常终止
5、从后台启动进程,应在命令的添加哪个符号?(A) A、& B、# C、* D、~ 四、简答题1、简单说明程序和进程的区别。程序是“死”的,进程是“活”的,程序是指编译好的二进制文件,它存放在磁盘上,不占用系统资源,是具体的;而进程存在于内存中,占用系统资源,是抽象的。当一次程序执行结束之后,进程随之消失,进程所用的资源被系统回收。 2、分析程序,写出程序的执行结果。
程序执行结果如下:
五、编程题1、编写程序,在程序中创建一个子进程,使父子进程分别打印不同的内容。程序实现如下:
编译程序并执行,程序的执行结果如下:
2、编写程序,在程序中创建一个子进程,使子进程通过exec更改代码段,执行cat命令。程序实现如下: exec.c
编译程序并执行,程序的执行结果如下:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:51:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |