查看进程

**ps **用于报告当前系统的进程状态。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 使用 help 查看 ps 所有指令
ps [options] [--help]

# 常用指令
## grep 搜索字符串,匹配进程名
## > 进程名 = 路径 + 文件名
## > 当匹配非路径时会在所有目录下进行模糊查询
## > 当匹配文件的绝对路径时,会精确查找进程
## > 当匹配目录时,会查询该目录下所有进程

## 查看指定名称的所有进程详细信息
ps -aux | grep <string>

## 查看指定名称的所有进程信息
ps -ef | grep <string>

杀死进程

**kill**** **删除执行中的程序或工作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 使用 ? 查看 kill 用法
kill -?
## 用法:kill [-s 信号声明 | -n 信号编号 | -信号声明] 进程号 | 任务声明 ... 或 kill -l [信号声明]

## 列出所有信息名称
kill -l

## 使用第九种信号,通过指定的 pid 强制查杀进程
kill -9 <pid>

## 其他常用信号
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)

查杀进程

使用  **ps**** kill**  组合,可以在查找进程后直接杀死。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 强制查杀指定名称的进程
## string 指定为目录,进行批量查杀进程(已验证)
## awk 的作用是指定输出某一列,awk '{print $2}' 输出第二列,即 pid
ps -ef | grep <string> | awk '{print $2}' | xargs kill -9

##
kill -9 `ps -ef | grep <string> | grep -v grep|awk '{print $2}'`


## 输出 pid 到文件,然后遍历(未验证)
ps -ef | grep <string> | grep -v grep | awk -F' ' '{print $2}' > ./fock_chang.txt
while read pid; do echo $pid; kill -9 $pid; done < ./fock_chang.txt

## 输出 pid 到内存,然后遍历(未验证)
for pid in `ps -ef | grep <string> | grep -v grep | awk -F' ' '{print $2}'`;do echo $pid;kill -9 $xx; done

评论