文章目录
- 一、进程ID(PID)
- 二、查看进程
- 1、进程查看命令-ps
- (1)命令作用
- (2)参数说明
- (3)操作案例
- 2、Linux进程状态
- 3、观察进程变化命令 -top
- (1)参数选项
- (2)操作案例
- 4、查看进程树命令 -pstree
- (1)命令概述
- (2)安装pstree
- (3)参数说明
- (4)操作案例
- 三、杀死进程 -kill命令
- 1、命令作用
- 2、参数说明
- 3、操作案例
一、进程ID(PID)
- 进程启动时,操作系统为其分配相对应的系统内唯一的进程ID(PID)
- 执行命令:
ps -aux
,查看进程详情
二、查看进程
1、进程查看命令-ps
(1)命令作用
- 将某个时间点的程序运作情况截取下来
(2)参数说明
参数 | 作用 |
---|---|
a | 和输入终端关联的所有进程,通常与x一起使用,列出完整信息 |
x | 后台进程,通常与a 这个参数一起使用,可列出较完整信息 |
u | 有效使用者相关的进程 |
(3)操作案例
- 执行命令:
ps la | head -5
,能够观察所有系统的数据
- 执行命令:
ps axjf | head -20
,连同部分程序树状态
- 执行命令:
ps l
仅查看自己的bash相关的进程 - 执行命令:ps aux观察系统所有进程
2、Linux进程状态
状态值 | 含义 |
---|---|
R | 指正在被CPU运行或者就绪的状态(在run_queue队列里的状态) |
S | 可中断的睡眠状态,处于等待状态中的进程,一旦被该进程等待的资源被释放,那么该进程就会进入运行状态 |
D | 不可中断的睡眠状态,该状态的进程只能用wake_up()函数唤醒 |
T | 当进程收到信号SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU时就会进入暂停状态。可向其发送SIGCONT信号让进程转换到可运行状态 |
Z | 僵尸进程:当进程已经终止运行,但是父进程还没有询问其状态的情况。不可被kill,即不响应任务信号,无法用SIGKILL杀死 |
3、观察进程变化命令 -top
(1)参数选项
选项 | 含义 |
---|---|
-d | 后面可以接秒数,就是整个程序画面更新的秒数;默认5秒 |
-b | 以批次方式执行top,还有更多参数可以使用,通常会搭配数据流重导向来将批次的结果输出成为档案 |
-n | 与-b 搭配,作用是需要进行几次top的输出结果 |
-p | 指定某些个PID 来进行观察监测 |
(2)操作案例
- 执行命令:
top -d 3
,每隔三秒更新一次数据
- 执行命令:
top -b -n 2
,进行两次top的输出结果
4、查看进程树命令 -pstree
(1)命令概述
- pstree命令用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以直观地看出是谁创建了谁。Linux 系统中进程之间的关系就是一棵树,树的根就是进程 PID 为 1 的 init 进程
(2)安装pstree
- 执行命令:
yum -y install psmisc
(3)参数说明
参数 | 含义 |
---|---|
-A | 各进程树之间的连接以 ASCII 码字符来连接 |
-U | 各进程树之间的连接以 utf8 字符来连接,某些终端可能会有错误 |
-p | |
-u | 同时列出每个进程的所属账号名称 |
(4)操作案例
- 执行命令:
pstree
- 执行命令:pstree -Aup`
三、杀死进程 -kill命令
1、命令作用
- kill发送信号,并不只是杀进程
2、参数说明
参数 | 函数 |
---|---|
-l | 这个是L的小写,列出目前kill 能够使用的信号(signal)有哪些? signal 向进程发送的信号,指示其进行不同操作。用man 7 signal 可知 |
-15 | 以正常的程序方式终止一个进程!!! |
-9 | 立刻强制终止一个进程!!! |
-2 | 代表由键盘输入[Ctrl + C] 同样的动作 |
-1 | 对于sshd这样的守护进程,重新读取一次参数的配置文件(类似reload),如果进程为非守护进程,默认为终止进程 |
3、操作案例
- 执行命令:
pstree -aup | grep sshd
- 用参数-1来杀910进程,执行命令:
kill -1 1230
- 说明没有杀死sshd进程,又重新加载了
- 用参数-9来杀死这个守护进程sshd,执行命令:
kill -9 1230
- 启动firewalld进程并查看其进程树
- 问题:父进程被kill掉,它的子进程是否就一起被kill掉?
- 结论:父进程被kill掉了,但是其子进程还依然存在