C++ LINUX系统编程笔记。

笔记

 

 

 

  • getenv ()获取环境变量
  • Kill -9 pid      杀死进程
  • ps  查看进程信息

         ps aux

         ps ajx 查看进程之间血缘关系

 

 

  • 创建多个子进程

 

  • 想创建五个,结果创建出32个。原因如下图:

 

解决办法,给子进程加一个break;

 

 

  • 在此基础上,如何让子进程有序退出?

因为不同子进程里面的I 是不同的,父进程的i为6.所以可以加个sleep。

不同的子进程睡不同的时间

 

运行结果

 

 

P15

  • 读时共享,写时复制

 

代码验证

 

 

运行结果

 

 

 

代码再验证,让父进程也改一下

 

 

 

p17

函数只有在执行出错的时候返回。

 

 

 

 

 

 

ls命令的实际操作

 

 

 

 

 

 

 创建一个孤儿进程,父进程五秒钟后死,子进程则死亡,其父进程变为初始进程。

 

执行结果:

 

 创建一个僵尸进程

 

 

执行结果,。

Z表示僵尸zombie,X表示dead。

 

 

 ----------------------------------------------------------------

  • wait函数

 

 

实验代码

 

 执行结果

 

 

 

 

  • waitpid函数

 

 

 

 

 

  • 用wait函数依次回收子进程

 

 

 

 用waitpid回收子进程

 

 

 

 

posted on 2022-03-06 20:40  开源侠  阅读(51)  评论(0)    收藏  举报