进程的创建与回收学习笔记

发布时间:2024年01月13日

目录

一、进程内容:

二、进程常用命令?

三、创建子进程?

?四、子进程进阶

?五、进程的退出

?六、进程的回收


一、进程内容:

程序:

? ? ? ? 存放在磁盘上的指令和数据的有序集合(文件)

? ? ? ? 静态的

进程:

? ? ? ? 执行一个程序所分配的资源的总称

? ? ? ? 进程是程序的一次执行过程

? ? ? ? 动态的,包括创建、调度、执行和消亡

进程是在内存中运行,即RAM

flash是ROM,即磁盘,可以存放程序

?

?

交互进程就是运行可执行文件,比如./testdemo

批处理进程,就是按顺序执行脚本语言

守护进程不能用ctrl-c关闭,无法通过shell命令控制

只有运行态在消耗CPU。

二、进程常用命令?

?

ps:查看当前终端下的进程

ps -e:查看linux中所有的进程

ps -elf:查看所有进程的详细信息

top -p PID:查看某个进程信息

?

?ctrl+z:把运行的前台进程转为后台并停止

./test & 把test程序后台运行

三、创建子进程?

?在linux下,除了0号进程外的任何进程都是别人创建的,都是子进程

?

运行结果:

?一个是父进程打印的,一个是子进程打印的。

?通过判断pid来确定父子进程执行的内容:

?运行结果:

父子进程仅仅复制关系,执行顺序没有规律,需要操作系统来进行调度。?

修改代码如下:

运行结果如下:?

?

?父子进程执行顺序是随机的


若父进程先结束

?此时子进程继续运行,不过变为后台进程,不能被ctrl-c杀掉,只能用kill杀掉。


若子进程先结束?

?此时子进程变成僵尸进程。

?四、子进程进阶

一个父进程创建出5个子进程?

代码如下:

?五、进程的退出

?

?

?

exit结束进程刷新缓冲流,会打印上一行,_exit结束进程不刷新缓冲流,不会打印上一行
“\n”和return就是刷新缓冲流。?

?六、进程的回收

?通过wait函数回收僵尸进程

代码运行结果:

?此时效果和使用wait函数一样。

?

文章来源:https://blog.csdn.net/ssz__/article/details/135568505
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。