- 完成思考题7.3,上机编译、运行
- 这里,将文件 7.3.c 复制到文件 7.3.1.c 上,代码,编译和运行过程见下图。
- 打印输出 7.3.1.c 文件,发现与 7.3.c 文件一模一样。
- 完成思考题7.5,上机编译、运行。
(1)代码如下。
(2)运行结果。子进程先执行,执行结束后父进程再执行。
(3)如果父进程没有执行 wait(),那么父进程和子进程执行的先后顺序随机。
- 编译并运行例7.5的程序,体会管道机制的应用
(1)代码如下
(2)编译运行结果如下。Write将消息写入管道,然后read读取管道中的内容“Happy New years to you!”
- 编译并运行例7.6的程序,体会消息队列的管理
(1)代码如下。
(2)编译运行结果如下。消息队列是一个消息链接列表,消息都保存在内核中。对消息队列的操作过程通常是:用msgget函数创建一个新队列或者打开一个队列,用msgsnd把一个新消息添加到队列末尾,用msgrev从队列读取一条消息。
- 完成思考题7.9,上机编译、运行。
(1)代码如下。
(2)编译运行结果如下。从结果可以看出,创建一个子进程,父进程向子进程发送一个信号,然后等待子进程终止:子进程接收信号,输出自己的状态信息,最后终止自己。