Reference
- 在 Linux 中,每一个程序都有一个自己的进程,每一个进程都有一个 id 号
- 每一个进程,都会有一个父进程
- 进程可以有两种存在方式:前台,后台
- 一般服务都是后台运行的,基本的程序都是前台运行的
查看进程 ps
查看当前系统中正在执行的各种进程信息
-A
列出所有的进程-a
显示所有与终端相关的进程-u
显示用户的所有进程-x
显示后台运行进程
查看所有进程
ps -aux
显示信息说明
- USER:该进程是由哪个用户产生的
- PID:进程的ID号
- %CPU:该进程占用 CPU 资源的百分比
- %MEM:该进程占用物理内存的百分比
- VSZ:该进程占用虚拟内存的大小,单位 KB
- RSS:该进程占用实际物理内存的大小,单位 KB
- TTY:该进程是在哪个终端中运行的。其中
tty1-tty7
代表本地控制台终端,tty1-tty6
是本地的字符界面终端,tty7
是图形终端,pts/0-255
代表虚拟终端。 - STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
- START:该进程的启动时间
- TIME:该进程占用CPU的运算时间,注意不是系统时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
显示所有进程信息,连同命令行
ps -ef
显示信息说明
- UID:用户 ID
- PID:进程 ID
- PPID:父进程 ID
- C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY:完整的终端名称
- TIME:CPU 时间
- CMD:启动进程所用的命令和参数
查找指定进程
ps -aux | grep 进程关键字
可以看到父进程的信息
ps -ef | grep 进程关键字
- 如果想查看进程的 CPU 占用率和内存占用率,可以使用
aux
- 如果想查看进程的父进程 ID,可以使用
ef
显示进程信息
ps -A
显示指定用户信息
ps -u root
查看进程树 pstree
-a
显示每个程序的完整指令,包含路径,参数或是常驻服务的标识-p
显示父级 id-u
显示用户名称
终止进程 kill
通过进程号杀死进程,-9
表示强迫进程立即停止
kill [-9] 进程号
通过进程名称杀死进程,也支持通配符,在系统因负载过大而变得很慢时很有用
killall 进程名称