Linux进程概念和基本命令

来源:互联网 发布:mppt算法 编辑:程序博客网 时间:2024/06/13 12:58

书中描述的进程概念:一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。进程可以看作正在运行的程序。
操作系统对CPU进行管理和施行魔法的手段就是进程和线程。

进程管理,内存管理和文件管理是操作系统的三大核心功能。
进程=程序+执行。

总结什么是进程:进展中的程序,一个动态的过程。
进程:一组有序指令,系统资源的一个集合,状态(状态是进程的状态模型,进程不一定被CPU执行)(指令是CPU执行的最小单位)。
进程:CPU调动的最小单位是进程。
程序:coding的main.c中存的是代码不是程序,程序是二进制可执行文件,是在磁盘中存放的,进程是在内存中存放的。程序运行起来就放到内存中,这时候就生成一个内存实例。一对多的关系,一个程序可对应多个进程。

例子:如果程序是乐谱的话,弹奏的过程就是进程。

PCB进程控制块:pid进程ID state状态优先级程序上下文程序计数器,记录的是进程将要被执行的下一行指令的地址。PCB只能对应一个进程,需要多个PCB。

计算机中存储设备金字塔:
CACHE高速缓存:一级缓存二级缓存三级缓存临时存储
内存:临时存储
磁盘:永久存储
移动设备:永久存储

进程的五种状态模型:新建就绪运行退出阻塞
新建:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态
就绪:CPU没空闲下来,等到空闲就可以被执行
运行:在CPU中执行的进程。
退出:进程终止的几种方式,进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行
阻塞:到不了就绪状态,有可能正在等待I/O事件的发生,或者正在等待数据从0编程1。阻塞不能直接到运行状态。

状态转换:就绪只能到运行,运行能到阻塞和就绪(
时间片轮转法),阻塞只能到就绪。运行到退出:

挂起状态(暂停状态):既不阻塞,也不就绪,也不运行。

显示进程信息:
ps:PID TTY TIME是执行ps的时间 CMD 命令
ps -f:回去试一下父进程
ps -ef:

sleep 2:在前台运行的进程等两秒
sleep 20 &:后台运行的进程。不占据终端的控制权。
结束进程:kill +进程号Ctrl+C
pkill杀死一组进程
jobs:任务号
fg唤醒挂起
kill -stop 4667:挂起
bg把挂起放到后台
top:相当于任务管理器退出 q。

问题:
1.怎样挂起前台进程?
A: Ctrl + Z(挂起)
ps -e l grep sleep在两个终端实现
2.怎样杀死前台进程?
A: Ctrl C
3.kill+pid能不能杀死挂起进程。如果不能,应该怎么做?
A: kill -9 pid
kill -15 pid
进程的七种状态模型:操作系统精髓
在五种的基础上加了挂起:
1.就绪挂起
2.阻塞挂起

进程管理的作用:
1.判断服务器的健康状况
2.查看系统中的所有进程
3.杀死进程
CPU使用率过高时,有可能是不正当病毒程序,不能只简单的杀死进程,应该找到进程主体,彻底清除它。如果是正常的比如mysql进程,应该进行一下优化。也就是说无论是否是正常的进程都不能直接结束它了事。