概念解释
- 程序:就是各种语言编写的功能,在进行编译后的二进制文件,最后交给电脑识别处理
- 进程:就是程序执行的过程证明,是系统可以进行资源分配和调度基本单位
父进程和子进程
Linux系统中,进程之间有一个明显的继承关系,所有进程都是 PID 为1的 systemd 进程的后代
- 父进程(PID):子进程的集合主体,通常一个shell连接就是一开始的父进程
- 子进程(PPID):由父进程下产生的程序
进程状态
-
前台进程:shell终端实时显示输出程序,这样就无法进行其他操作
-
后台进程:避免前台进程的进行而导致无法其他操作,运行程序可以放到后台执行,命令后面加上&
-
孤儿进程:前2个进程都需要依赖父进程,父进程结束同样子进程也会结束,那么就需要nuhop命令,让终端关闭后程序交由systemd进程管理
退出终端后子进程就变成了1
-
僵尸进程:当进程退出父进程(使用wait()系统调用)没有读取到子进程退出的返回代码时就会产生僵尸进程,僵尸进程将会导致资源浪费
-
守护进程(daemon进程):有没有不受终端控制的直接进程呢?也就是需要常驻内存中的程序,通常又叫服务,比如SSH程序的守护进程就是SSHD,后面的D就是指守护进程
进程相关的命令
- ps:查看静态进程信息
- top:查看动态进程信息
命令详细学习:https://blog.csdn.net/qq_41453285/article/details/88362727
互联网的好处就不要自己造轮子,有好的拿来学习即可