在 Linux 中,每个执行的任务都被称为进程,每一个进程都有一个唯一的标识,称为 PID(Process ID)
1、显示进程
可以使用 ps
命令(process status)显示当前运行的进程,显示的内容如下:
PID
:进程的唯一标识TTY
:登陆终端的编号TIME
:此进程消耗的 CPU 时间CMD
:正在执行的命令
添加 -l
参数(long format)可以显示更详细的信息,新增的内容包括:
S
:进程状态(Status)UID
:进程执行者的唯一标识(User ID)PPID
:父进程的唯一标识(Parent Process ID)PRI
:进程的优先级(Priority),值越小,优先级越高NI
:进程的 nice 值,值越小,优先级越高SZ
:进程占用内存的大小(Size),单位为 KB
添加 -u
参数(user format)也能显示更详细的信息,新增的内容包括:
USER
:进程执行者%CPU
:CPU 使用率%MEM
:内存 使用率VSZ
:占用虚拟内存的大小(Virtual Memory Size)RSS
:占用物理内存的大小(Resident Set Size)START
:进程开始执行的时间
2、删除进程
可以先使用 ps
命令查看进程的唯一标识(PID),然后再使用 kill PID
命令终止指定的进程
若无法直接使用上述的命令终止进程,可以考虑加上以下参数:
-9
:发出KILL
信号,强制终止进程,不会进行清理和保存工作-15
:发出TERM
信号,当进程有足够活力接收时才会被终止,在终止前能够清理和保存工作
此外,kill
命令还能加上以下参数:
-1
:发出HUP
信号,挂起进程-2
:发出INT
信号,效果和直接用Ctrl + C
相同-18
:发出CONT
信号,继续运行进程-19
:发出STOP
信号,暂停进程
3、进程优先级
每个进程在执行时,都会被赋予使用 CPU 的优先等级 (称为 nice),等级越高,能使用 CPU 的时间越长
优先级的取值范围在 -20 ~ 19 间的整数,其中 -20 最高,19 最低,优先级 -20 ~ -1 只有管理员才能设置
nice
命令能在开始执行进程时设置进程的优先级,renice
命令能在正在执行进程时调整进程的优先级
若在启动进程时没有使用 nice
,则优先级默认为 0;若使用 nice
但没有显式指定优先级,则默认为 10
4、动态显示进程
可以使用 top
命令动态显示进程状态,在 top
命令执行过程中,可以结合使用以下的指令完成特定的操作
P
:改变进程的排列顺序,按 CPU 使用时间排序M
:改变进程的排列顺序,按内存使用量排序J
:改变进程的排列顺序,按执行的时间排序u
:监视指定用户产生的进程