介绍
程序本身是一种静态概念,而进程是动态的。进程表示操作系统当前运行的程序。每一个进程都是操作系统进行资源调度和分配的独立单位。进程之间是互斥同步关系,而互斥是指进程间不能同时运行,必须等待一个进程运行完才可以运行(时间分片)。进程同步指的是进程间通过某种通信机制保证数据同步。
进程的查看
-
ps命令
① 查看所有进程:ps -A
② 列出不和本终端有关的进程:ps -a
③ 列出有效使用者相关的进程:ps -u
④ 显示包含其他使用者的进程:ps aux
参数:
USER 进程拥有者
PID 进程ID
CPU 占用CPU使用率
MEM 占用内存使用率
VSZ 占用虚拟内存大小
RSS 占用内存大小
TTY 运行终端的号码
STAT 进程状态(D不可中断、R运行中、S休眠、T暂停、Z僵尸进程、W没有足够内存可分配、<高优先级进程、N低优先级进程)
START 进程开始时间
TIME 累计使用CPU时间
COMMAND 执行命令 -
top命令:实时监控系统的状态
① 服务器基础信息(第一行):
当前时间18:27:39;当前有1个用户;系统负载最近一分钟平均负载0.00;最近5分钟平均负载0.01;最近15分钟平均负载0.05;
② 当前系统进程概况(第二行):
一共78个进程;1一个正在运行的进程;77个休眠的进程;0个停止的进程;0个僵尸进程;
③ CPU信息(第三行):
us代表用户空间占用CPU的百分比;sy代表内核空间占用CPU的百分比;ni代表改变过优先级的进程占用的CPU百分比;id代表空闲CPU百分比;wa代表IO等待百分比;hi代表硬中断占用的cpu百分比;si代表软中断占用的CPU百分比;
④ 物理内存使用状态(第四行):
物理内存总量997580、空闲内存总量306384、已使用内存总量98920、缓存使用内存总量592276
⑤ 虚拟内存使用状态(第五行):
物理内存总量0、空闲内存总量0、已使用内存总量0、缓冲交换区总量704568
⑥ 列字段含义
PID:进程id;
USER:进程拥有者;
PR:进程优先级;
NI:负值表示高优先级,正值表示低优先级;
VIRT:进程使用的虚拟内存总量,单位kb,VIRT = SWAP+RES;
RES:进程使用的未被换出的物理内存大小,单位kb,RES=CODE + DATA;
SHR:共享内存大小,单位kb;
%CPU:上次更新到现在的CPU时间占用百分比;
%MEM:进程使用的物理内存百分比;
TIME+:进程使用的CPU时间总计,单位为1/100秒;
COMMAND:进程名称(命令名 / 命令行);
进程的终止
- kill -1 PID 重启服务
- kill -9 PID 强行杀死进程
- kill -15 PID 正常结束
查看进程打开的文件
- 查看打开指定文件的所有进程:lsof 文件名
- 显示指定进程名的所有进程:lsof -c 进程名
- 显示用户能打开的所有进程:lsof -u 用户名
- 显示指定目录下被进程打开的文件:lsof +d 目录名
- 显示符合条件的进程:lsof -i [4/6] [protocol] [@hostname|hostAddr][:service|port]