前言
本文是网课 Linux系统管理(2020春)–学堂在线 的学习笔记。
进程是程序的具体实现。程序是可执行文件。一个运行中的程序可能包含多个进程。
一、ps
命令
查看进程:PS
即 Process Status 的缩写。有如下选项:
-A
: 列出系统中的所有进程。(结果列表,每一行表示一个进程,列PID:进程的ID;TTY:进程所使用的终端;TIME:进程运行持续的时间;CMD:进程对应的程序名。)
-f
: 与 -A
叠加使用,可列出所有进程及其更加详细的信息。(结果列表,每一行表示一个进程,增加的字段有 UID:表示进程是由那个用户运行的;PPID:进程的父进程的ID;C:进程占用主机CPU计算资源的比例;STIME:进程开始运行的时间。)
-l
: 比 -f
更加详细。(结果列表,每一行表示一个进程,新的字段有 F:进程的旗标(flag);S:进程的运行状态;PRI:进程的优先级;NI:进程的Nice值;ADDR:该进程在内存的那个部分,进程的存储地址;SZ:进程占用内存的大小;WCHAN:进程是否正在运行当中。)
ps
命令的其它一些常用操作:
与 grep
结合使用,以查找特定的进程:
ps -Af|grep sshd
: 查找名称中带有 sshd 字样的进程。
ps -Af|less
: 用|管道与 less
命令连接起来分页查看 ps
命令的输出。
操纵进程
kill PID
: 杀掉进程ID为PID的进程。
二、top
命令
动态监视系统进程。默认情况下,每3秒刷新一次,默认按照各个进程的CPU占用量降序排列。
光标处键入M
,按照内存占用情况降序排列。键入N
,以进程PID降序排列。键入P
,按CPU占用情况降序排列。键入R
,在当前基础上反向排序。
每一行表示一个进程,新的字段有 PR:进程的优先级;VIRT:进程使用的虚拟内存总量,单位kb;RES:进程使用的,未被换出的物理内存的额大小,单位kb;SHR:共享内存大小;S:进程运行状态;%CPU:上次更新到现在的CPU时间占用百分比;%MEM:进程使用的物理内存所占百分比;TIME+:进程使用的CPU时间总计。单位1/100秒;COMMAND:产生进程的命令名称。)
键入q
:退出top。
三、kill
命令
通过向进程发送特定的 ‘信号Single’ 来操控进程。默认终止进程。
kill -l
: 查看kill
所能发送的所有信号。默认发送15号 ‘SIGTERM’ 信号,终止进程。如下:
kill PID
: 终止 (ID为PID的) 进程。当对该进程没有权限时,会提示没有权限。
另外常用的还有,9号 SIGKILL 是linux中强制终止信号。
kill -9 PID
: 给进程发送强制终止信号。该信号不可忽视,进程需当即停止并释放所占内存资源。不过,SIGKILL的强制终止可能会使一些重要数据丢失,甚至毁坏终端,故要谨慎使用。不是正常退出,而是,瞬间被终止了。
通常,我们先使用ps/top
查看进程详情并获取PID --> kill
向进程发送操控信号。
pkill
命令
根据进程的一些属性来批量终止进程。如:
pkill firefox
: 终止火狐软件的进程。
pkill -u zhangsan
: 终止所有者zhangsan的进程。不过,这个进程相当于注销了zhangsan的账户。
xkill
命令
应用于图形界面的终止操控命令。
输入xkill
,会出现×
光标,然后移动该光标,在想要终止的进程的图形界面上点击,即可终止该进程。