Linux编程基础之进程实验练习

·进程实验练习一
编写程序创建一个子进程,父进程打印“parent process”字样和自己的pid;子进程打印“child process”字样以及自己的pid和ppid,并通过exec更改代码段,执行cat命令,cat命令中的参数文件为自己的源程序文件。运行结果截图。注意:运行结果中子进程的ppid是否是父进程的pid?若不是,原因是什么,如何修改程序让两者相同?
答:出现过子进程的ppid≠pid,原因是父进程先于子进程结束。若使两者相同,需要在代码末尾加上“wait(NULL)”,这样就可以让父进程等待,直到所有子进程消亡才继续运行,从而使进程同步。
运行截图:在这里插入图片描述
·进程实验练习二
编写程序创建一个子进程,父进程打印“parent process”字样,和自己的pid;子进程打印“child process”字样以及自己的pid和ppid,并通过exec更改代码段,执行cat命令,cat命令中的参数文件为自己的源程序文件;父进程需等待子进程终止后,输出“parent process finished”再结束。
运行截图:在这里插入图片描述
·题目1
编写程序,main函数执行while死循环,捕获SIGINT信号。用户第一次按Ctrl-c,进程仅显示“Ctrl-C pressed the first time”,用户第二次按Ctrl-c,进程显示“CTRL-C pressed the second time”,然后结束进程。
源代码(方法一): 在这里插入图片描述
(方法二):在这里插入图片描述
运行截图:在这里插入图片描述
·题目2
编写程序,父子进程使用匿名管道通信,实现“cat/etc/passwd|grep /bin/bash”功能。
源代码:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1.网络编程概要.mkv 2.一个TCP的简单实验.mkv 3.课程内容大纲.mkv 4.回顾基础的Sockets API.mkv 5.TTCP代码概览.mkv 6.使用TTCP进行网络传输性能测试.mkv 7.阻塞IO下的TTCP实验.mkv 8.TCP自连接.mkv 9.扩展练习.mkv 10.时钟概述.mkv 11.时钟精确度和校准.mkv 12.网络时间同步.mkv 13.Roundtrip代码分析.mkv 14.其他测试方案.mkv 15.UDP vs TCP.mkv 16.扩展知识.mkv 17.如何正确使用TCP.mkv 18.TCP使用的注意事项.mkv 19.多个版本的Netcat概览.mkv 20.第一个Netcat的实现.mkv 21.IO-multiplexing方式实现Netcat.mkv 22.使用非阻塞IO 1.mkv 23.使用非阻塞IO 2.mkv 24.进程监控概述.mkv 25.实现前要考虑的问题.mkv 26.procmon代码解析.mkv 27.dummyload实现原理和代码解析.mkv 28.procmon性能测试.mkv 29.知识扩展和总结.mkv 30.功能描述.mkv 31.数据结构设计与分析.mkv 32.数据结构代码解读.mkv 33.网络IO模型与代码解读.mkv 34.性能测试 1.mkv 35.性能测试 2.mkv 36.性能分析.mkv 37.定制数据结构以减小内存使用.mkv 38.数独求解服务简介.mkv 39.并发模型和测试工具.mkv 40.批处理模型及疑似内存泄露.mkv 41.内置性能监控.mkv 42.延迟测量与禁用Nagle_s算法.mkv 43.最大容量及伸缩性测试.mkv 44.延迟分布于请求数及并发模型的关系.mkv 45.过载保护.mkv 46.负载均衡.mkv 47.负载均衡实例.mkv 48.如何进一步适应生产环境.mkv 49.代码阅读1:客户端.mkv 50.代码阅读2:服务端.mkv 51.苏迪曼杯羽毛球比赛.mkv 52.记分系统设计.mkv 53.聊天服务器.mkv 54.聊天服务器代码改进.mkv 55.hub服务器[new!].mkv 56.设计难点[new!].mkv 57. TCP relay功能描述及Python实现.mkv 58. TCP半关连接.mkv 59. 非阻塞TCP relay实现.mkv 60. 源码及运行.mkv 61. 竞态条件及修复.mkv 62. SOCKS4a服务器实现.mkv 63. 非阻塞IO之外的选择.mkv 64. 用 GO 语言实现 TCP relay.mkv 65. 事件驱动与多线程的取舍.mkv 66. 第七层以外的实现方式.mkv 67. 正确理解TCP的可靠性.mkv 68. Muduo与C++11.mkv 69. N皇后问题及单机求解方法.mkv 70. 并行算法与MapReduce.mkv 71. RPC简介与接口定义.mkv 72. 代码实现与运行实例.mkv 73. Go语言客户端.mkv 74. RPC 负载均衡.mkv 75. 多机求平均数和中位数的算法.mkv 76. 代码实现及运行实例.mkv 77. 实现RCP框架:服务端.mkv 78. 实现RPC框架:客户端.mkv 79. 单词计数及按频度排序,单机算法.mkv 80. 单机版代码阅读.mkv 81. 多机单词计数算法与代码.mkv 82. 多机找出最常见的K个单词.mkv 83. 复活《TCPIP 详解第2卷》讲的4.4BSD协议栈.mkv 84. 课程总结.mkv muduo-examples-in-go-master.zip muduo-master.zip muduo-protorpc-cpp11.zip recipes-master.zip 官网地址-课程大纲 .txt
### 回答1: 《UNIX/Linux编程实践教程》是一本非常实用的编程教材,对于学习和掌握UNIX/Linux编程的人来说,是一本不可或缺的参考书。 本书主要介绍了UNIX和Linux系统下的编程基础知识、常用库函数以及实际应用技巧。首先,书中详细阐述了UNIX和Linux的基本概念、文件系统、进程管理、输入输出等基础知识,为读者打下坚实的理论基础。然后,通过大量实例和案例,详细介绍了C语言在UNIX和Linux环境下的编程技巧和常用函数的使用方法,例如文件操作、进程管理、网络编程等。同时,还介绍了常用的开发工具和调试技巧,使读者能够更加高效地进行编程实践。 《UNIX/Linux编程实践教程》使用简明易懂的语言,结合大量案例和实例进行讲解,使读者能够更好地理解和掌握所学知识。此外,书中还配有丰富的习题和实践项目,帮助读者巩固所学内容,并实际应用所学知识进行项目开发。 通过学习《UNIX/Linux编程实践教程》,读者能够系统地学习UNIX和Linux系统下的编程知识,掌握基本的开发技巧和调试方法,并能够灵活应用于实际项目开发中。无论是初学者还是有一定编程基础的人,都可以通过这本教程提升自己的编程水平,并在UNIX和Linux环境下进行高效的开发工作。 总之,《UNIX/Linux编程实践教程》具有理论与实践相结合、内容丰富全面的特点,是一本实用性很强的编程教材,值得每个想要学习UNIX和Linux编程的人去阅读和学习。 ### 回答2: UNIX/Linux编程实践教程是一本非常经典且实用的电子书,该书的pdf版本提供了更方便的阅读和学习方式。本书包含了丰富的实例和案例,旨在帮助读者理解UNIX/Linux系统的编程原理和实践技巧。 该书的内容主要包括以下方面:首先介绍了UNIX/Linux系统的基础知识,包括文件系统、进程管理、网络编程等。接着深入讲解了Shell编程和系统调用的使用方法和技巧,帮助读者快速掌握UNIX/Linux系统的编程技术。 此外,该书还介绍了常用的开发工具和环境,如GCC编译器、Make工具等,以及如何使用它们进行程序的编译和调试。同时,还讲解了常见的UNIX/Linux应用开发技术,如网络编程、多线程编程等,使读者能够更好地开发和优化自己的应用程序。 这本书的特点是实用性强,结合了丰富的实例和案例,让读者能够更好地理解和掌握UNIX/Linux编程技术。此外,该书还提供了逐步指导和实践练习,帮助读者逐步提升自己的编程能力。 总的来说,UNIX/Linux编程实践教程是一本非常优秀的电子书,适合想要学习和深入了解UNIX/Linux系统的开发人员和爱好者。无论是初学者还是有一定经验的开发人员,都可以从中受益匪浅。如果你正在学习UNIX/Linux编程,我强烈推荐你阅读这本书的pdf版本。 ### 回答3: 《UNIX/Linux编程实践教程》是一本经典的计算机编程教程,对于学习UNIX/Linux操作系统编程的人来说是一本非常有价值的参考书。这本书主要介绍了UNIX/Linux环境下的开发工具和编程技术,包括Shell脚本编程、C语言编程、系统编程等内容。 《UNIX/Linux编程实践教程》的特点之一是它的全面性和实用性。书中详细讲解了UNIX/Linux环境下各种常用的开发工具和命令,如gcc、make、grep、sed等,以及如何使用它们进行编程和调试。此外,书中还介绍了常用的编程技巧和方法,如文件操作、进程管理、内存管理等,让读者能够更好地理解和掌握UNIX/Linux系统编程的要点。 这本书的另一个亮点是它的实践性。《UNIX/Linux编程实践教程》中包含了大量实例和案例,通过这些实例,读者可以直接动手实践并应用所学的知识。这种实践性的教学方法可以帮助读者更好地理解和记忆所学的内容,并增强对UNIX/Linux编程的实际应用能力。 总的来说,《UNIX/Linux编程实践教程》是一本非常实用的编程教程,它以通俗易懂的语言讲解了UNIX/Linux系统编程的基本原理和实践技巧,具有很高的实用性和可操作性。对于想要学习UNIX/Linux系统编程的人来说,这本书是一个非常好的选择,可以帮助他们快速入门并提高编程能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纸梯先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值