2.进程常用命令
进程信息命令
ps
查看系统进程快照top
查看进程动态信息pstree
查看进程树,显示进程的层次结构
ps 命令
- 格式:
ps [options]
- 功能:查看当前运行的进程信息
- 参数:
options
(可选参数)-a
:显示所有终端下的进程信息。-u
:显示指定用户的进程信息。-x
:显示没有控制终端的进程信息。-e
:显示所有进程信息。-f
:显示完整格式的进程信息。-l
:显示长格式的进程信息。-o
:自定义输出格式。
- 示例:
ps -elf |grep a.out
列出所有进程的详细信息,并筛选出与a.out相关的进程信息ps -ef
显示完整格式的进程信息
top 命令
- 格式:
top [options]
- 功能:实时显示系统中各个进程的资源占用情况,包括CPU、内存等
- 参数:
options
(可选参数)-d
:设置刷新间隔时间。-p
:监控指定进程ID的进程。-u
:监控指定用户的进程。-n
:设置刷新次数。-b
:以批处理模式运行。
- 示例:
- shift+ > 后翻页
- shift+ < 前翻页
top -p 1234
监控指定进程ID为1234的进程top -u root
监控指定用户为root的进程
进程信息表
表头含义:
F 进程标志,说明进程的权限,常见的标志有两个:
- 1:进程可以被复制,但是不能被执行;
- 4:进程使用超级用户权限;
S 进程状态,常见的状态有以下几种:
- -D:不可被唤醒的睡眠状态,通常用于 I/O 情况
- -R:该进程正在运行
- -S:该进程处于睡眠状态,可被唤醒
- -T:停止状态,可能是在后台暂停或进程处于除错状态
- -W:内存交互状态(从 2.6 内核开始无效)
- -X:死掉的进程(应该不会出现)
- -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中
- -<:高优先级(以下状态在 BSD 格式中出现)
- -N:低优先级
- -L:被锁入内存
- -s:包含子进程
- -l:多线程(小写 L)
- -+:位于后台
UID: 运行此进程的用户的 ID
PID: 进程的 ID
PPID: 父进程的 ID
C: 该进程的 CPU 使用率,单位是百分比
PRI: 进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行
NI: 进程的优先级,数值越小,该进程越早被执行;
ADDR: 该进程在内存的哪个位置;
SZ: 该进程占用多大内存;
WCHAN: 该进程是否运行。"-"代表正在运行;
TTY: 该进程由哪个终端产生;
TIME: 该进程占用 CPU 的运算时间,注意不是系统时间;
CMD: 产生此进程的命令名;
进程优先级命令
nice
启动进程时调整进程的优先级renice
修改已经运行的进程的优先级
nice 命令
- 格式:
nice [options] [command]
- 功能:启动进程时调整进程的优先级,使得CPU资源分配更加合理
- 参数:
options
(可选参数)-n
:设置进程的优先级,范围为-20(最高优先级)到19(最低优先级),默认值为0。--adjust=N
:调整当前进程的优先级,N的取值范围与-n相同。
command
:命令,如ls
、cd
等
- 示例:
nice command
以默认优先级运行命令nice -n -20 ls
将进程优先级设置为最高(-20)
renice 命令
- 格式:
renice [options] [NI值] -p [ID]
- 功能:修改已经运行的进程的优先级
- 参数:
-n
:设置进程的优先级,范围为-20(最高优先级)到19(最低优先级),默认值为0。-p
:指定要修改优先级的进程ID。-g
:指定要修改优先级的进程组ID。-u
:指定要修改优先级的用户ID。
- 注意:
- NI 范围是 -20~19。数值越大优先级越低
- 普通用户调整 NI 值的范围是 0~19,而且只能调整自己的进程。
- 普通用户只能调高 NI 值,而不能降低。如原本 NI 值为 0,则只能调整为大于 0。
- 只有 root 用户才能设定进程 NI 值为负值,而且可以调整任何用户的进程。
- 示例:
sudo renice -n -20 -p 1234
将进程ID为1234的进程优先级设置为最高(-20)sudo renice +5 -p 1234
将进程ID为1234的进程优先级增加5
后台进程命令
jobs
查看后台进程bg [进程号]
将挂起的进程在后台运行fg [进程号]
把后台运行的进程放到前台运行- ctrl+z 把刚运行的程序转到后台运行
&
: 在命令后面加上&
符号可以将该命令放到后台执行