进程的基本概念:
n
进程存储在
内部存储设备
(内存),而程序存储在
外部存储设备
(如硬盘等)
n
进程在内存中对应一个进程控制块(
Process Control Block
,
PCB
)
n
每个进程都有一个进程号(
Process ID
,
PID
)
n
进程是
动态
的,程序是
静态
的
n
程序是代码和数据的集合,是经过编译后形成的可执行二进制文件
n
进程是程序运行时在内存中产生的实例。一个程序可以产生多个进程实例
n
进程具有多个状态,如就绪、运行、等待、挂起等
n
进程是
临时
的,程序是
持久
的
n
程序文件一旦生成就一直存储在磁盘中,除非手动删除
n
进程只有在程序运行时才会产生。进程可以正常运行结束,也可能异常退出
进程的状态:
n
创建状态。操作系统为进程申请一个空白
PCB
并写入相关信息
n
从创建状态到就绪状态。进程资源需求可以满足进入就绪队列
n
从就绪状态到运行状态。选择一个进程并分配
CPU
时间片
n
从运行状态到终止状态。进程正常或异常终止
n
从运行状态到阻塞状态。必须等待某些事件的发生才能继续运行
n
从阻塞状态到就绪状态。等待事件发生时会重新进入就绪状态
n
从运行状态到就绪状态。
CPU
时间片用完或被其他进程抢占
n
退出状态。释放资源

进程管理的作用:
1) 判断服务器的健康状态
n
进程管理最主要的工作就是判断服务器当前运行是否健康,是否需要人为干预。如果服务器的
CPU
占用率、内存占用率过高,就需要人为介入解决问题了。
2) 查看系统中所有的进程
n
我们需要查看看系统中所有正在运行的进程,通过这些进程可以判断系统中运行了哪些服务、是否有非法服务在运行。
3) 杀死进程
n
这是进程管理中最不常用的手段。当需要停止服务时,会通过正确关闭命令来停止服务(如
apache
服务可以通过
service httpd stop
命令来关闭)。只有在正确终止进程的手段失效的情况下,才会考虑使用
kill
命令杀死进程。
- 将前台进程放入后台,并进行查看
 2、启动一个后台进程,并进行查看 3、继续执行后台进行 4、在2022年5月15日 1:30 执行 :写入“process test”到 process_test.txt文件 5、在每周五的晚上11点半执行 :写入“process test”到 process_test.txt文件 6、结合grep,使用ps,lsof查看上一个定期任务, 7、修改上一个定期任务的优先级,再结束进程。 8、练习top,pstree等命令。 9、开启yum命令的特殊权限。 |
文件特殊权限再练习。 |
在 top 命令的显示窗口中,还可以使用如下按键,进行交互操作:
? :显示交互模式的帮助;
P:按照 CPU 的使用率排序,默认就是此选项;
M:按照内存的使用率排序;
N:按照 PID 排序;
T:按照 CPU 的累积运算时间排序;
k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;
r:按照 PID 给某个进程重设优先级(Nice)值;
q:退出 top 命令;
查看正在运行进程-ps 命令:
n
功能:
查看系统中当前有哪些进程,选项非常多
n
只能显示系统进程的静态信息
n
建议记忆固定选项:
n
"
ps
aux"
可以查看系统中所有的进程;
n
"
ps
-le"
可以查看系统中所有的进程,而且还能看到进程的父进程的
PID
和进程优先级;
n
"
ps
-l"
只能看到当前
Shell
产生的进程;
a | 显示现行终端机下的所有程序,包括其他用户的程序 |
e | 列出程序时,显示每个程序所使用的环境变量 |
-f | 显示UID,PPIP,C与STIME栏位 |
f | 用ASCII字符显示树状结构,表达程序间的相互关系 |
-j | 采用工作控制的格式显示程序状况 |
-l | 采用详细的格式来显示程序状况 |
L | 列出栏位的相关信息 |
u | 以用户为主的格式来显示程序状况 |
x | 显示所有程序,不以终端机来区分 |