CentOS7 运维 - 进程和计划任务管理
程序和进程的关系
程序
- 就是一串静态保存的代码,保存在硬盘和光盘等介质中的可执行代码和数据
进程
- 在
CPU
以及内存中运行的程序代码 - 动态执行的代码
- 分父进程和子进程
- 每个程序可以创建一个或多个进程
- 一个主进程可能会分出多个子进程
查看进程信息ps
查看静态的进程统计信息
ps aux or -aux
#他们获取的内容一致 "-"可加可不加
ps -aux | wc -l
ps aux | wc -l
- a显示终端上的所有进程,包括其他用户进程
- u表示列出进程的用户
- x显示所有终端进程
Linux是个多用户可登录和多进程的系统
各列的解释
USER
:进程的用户PID
:进程中的ID
%CPU
:进程占用的CPU
百分比%MEM
:占用内存的百分比VSZ
:该进程使用的虚拟内存量[KB]RSS
:该进程使用的物理内存量[KB]TTY
:启动进程的终端名,不是从终端启动的进程则显示为?
pts/1代表远程工具连接
STAT
:该行程的状态D
:不可中断的休眠状态;R
:正在运行状态;S
:处于休眠状态,可被唤醒;T
:停止状态,可能是在后台暂停或进程处于跟踪
调试状态;Z
:僵尸进程,进程已经中止,但是部分程序还在内存当中START
:该进程被触发启动时间TIME
:该进程实际使用CPU
运行的时间COMMAND
:进程的启动命令
查看静态的进程统计信息
ps -elf #必须加-否则显示不全
-e
显示系统内的所有进程信息-l
使用长格式显示进程信息-f
使用完整的格式显示进程信息
各列的解释
F
:内核分配给进程的系统标记S
:进程的状态UID
:启动这些进程的用户PID
:进程的进程ID
PPID
:父进程的进程号(如果该进程是由另一个进程启动的)C
:进程生命周期中的CPU
利用率PRI
:进程的优先级(越大的数字代表越低的优先级)NI
:谦让度值用来参与决定优先级ADDR
:进程的内存地址SZ
:假如进程被换出,所需交换空间的大致大小WCHAN
:若该进程在睡眠,则显示睡眠中的系统函数名STIME
:进程启动时的系统时间TTY
:进程启动时的终端设备TIME
:运行进程需要的累计CPU
时间CMD
:进程的启动命令
僵尸进程
- 一个进程的父进程先结束,那此进程将不会变成僵尸进程 因为每个进程结束时,系统会扫描当前系统中所运行的所有程序查看有没有哪个进程时刚刚结束的这个进程的子进程 如果是的话,就有Init来接管他,成为它的父进程 子进程退出后Init会回收其占用相关资源
- 如果子进程先结束,就会变成僵尸进程
动态查看进程排名信息top
第一行是任务队列信息
①15:56:44
: 系统时间
②up 3:54
: 系统已运行时长
③2 user
:当前登录用户数
④load average: 0.22, 0.08, 0.06
:系统负载,即单位时间内系统处理的任务数,后面三个数值分别为1分钟、5分钟、15分钟前到现在的平均值
第二行为进程信息
①Tasks
:总进程数
②running
:正在运行的进程数
③sleeping
:休眠的进程数
④stopped
:中止的进程数
⑤zombie
:僵死的进程数