1 基本介绍
- 在Linux中,每一个执行的程序都被称为一个进程。每一个进程都被分配一个ID号(pid,进程号)
- 每个进程都可能以两种方式存在。前台与后台,所谓前台进程就是用户目前屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才会结束
2 显示系统进程
ps命令是用来查看目前系统中,有哪些正在执行的进程 ,以及他们的执行状况。可以不加任何参数
ps
但是,一般为了显示的更加详细,可以使用
ps -a //显示当前终端的所有进程信息
ps -u //以用户的格式显示进程信息
ps -x //显示后台进程运行的参数
ps -aux //上面三个的组合使用
3 进程参数含义
执行ps -aux指令:
ps -aux
结果如下:
参数解释:
- USER:进程执行用户
- PID:进程号
- %CPU:当前进程占用cpu的百分比
- %MEM:占用物理内存的百分比
- VSZ:进程占用虚拟内存大小(KB)
- RSS:进程占用的物理内存的大小(KB)
- TTY:终端名称
- STAT:运行状态,S-表示sleep休眠、s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-表示正在运行,D-短期等待,z-僵尸进程,T-被跟踪或者被停止等等
- STARTED:执行的开始时间
- TIME:占用CPU时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
4 查看指定的进程
可以使用管道过滤
如:查看sshd进程
ps - aux | grep sshd
5 以全格式显示当前所有进程
指令:
ps -ef
-e:表示显示所以进程
-f:表示全格式显示
参数解释:
- UID: 用户ID
- PID: 进程ID
- PPID: 父进程ID
6 查看指定进程的父进程ID
可以使用管道过滤
如:查看sshd进程的父进程ID
ps -ef | grep sshd
7 终止进程
1)介绍:
是某一个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。可以使用kill命令来完成此项任务
2)指令:
//通过进程号结束进程
kill [选项] 进程号
//通过进程名称结束进程;也支持通配符,这在系统因负载过的很慢时很有用
//使用killall结束进程,也会结束该进程下面的所以子进程
killall 进程名称
常用选项:
- -9 :表示强制结束该进程
3)案例:
案例1:踢掉某个登录用户(jinjin)
a. 先查询该用户的登录id
ps -aux | grep sshd
b. 结束该进程
kill [选项] 进程号
如:
案例2:终止远程登录服务sshd,在适当时候再次重启sshd服务
a. 先查看sshd的进程号
b. 结束该进程
kill 7938
c. 恢复远程登录服务sshd--到linux里进行恢复
/bin/systemctl start sshd.service
8 查看进程树pstree
基本语法:
// 可以更加直观的来看进程信息
pstree [选项]
常用选项:
-p 树状形式,增加显示进程的pid
-u 树状形式,增加显示进程的所属用户