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
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

纸梯先生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值