1.PS命令,用于报告当前系统的进程状态的命令
ps -ef 显示所有详细的进程信息
-e 列出程序时,显示每个程序所使用的环境变量
-f 显示UID PID PPID C STIME TTY TIME CMD等信息
ps ef
e 列出程序时,显示每个程序所使用的环境变量
f 用ASCII字符显示树状结构,表达程序间的相互关系
ps aux
a 显示当前终端下所有的进程,包括其他用户的进程信息
u 以用户为主的格式显示进程情况
x 显示所有进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 191196 4116 ? Ss 12月19 0:14 /usr/lib/systemd/systemd -- switched-root --system --deserialize 22
用户 进程ID号 CPU的百分比使用情况 内存使用情况 该进程使用swap内存单位 进程占用的内存量 进程在的终端信息 进程此时状态 运营时间 进程命令
S:终端睡眠中可以被唤醒
s:进程含有子进程,就会有s
R:运营中
D:进程不可终端睡眠
T:表示进程已停止
Z:进程是僵尸进程(父进程异常奔溃)
+:前台进程
N:低优先级进程
<:高优先级进程
L:该进程已被锁定
ps -u 用户名bruce 显示用户bruce的进程
[root@VM-4-16-centos ~]# ps -u bruce
PID TTY TIME CMD
24525 pts/1 00:00:00 bash
[root@VM-4-16-centos ~]#
查看进程数的命令
pstree 能够清晰表达程序之间的层级相互关系
在centos/Redhat 系列linux中,需要单独安装此命令
yum install psmisc -y
过滤进程信息
pgrep ssh # 输入ssh进程号,判断是否存在或者启动
2.kill命令,用于杀死进程
kill -l 列出系统支持的全部信号列表
SIGHUP:挂起进程,终端突然掉线,用户突然退出 SIGINT:中断信号,一般用crtl+c发出信号2 SIGOUT:退出信号,一般用ctrl+\发出信号3
SIGKILL:强制中断,一般用于立即杀死某些进程 SIGTERM:kill默认使用的是15信号,终止进程 SIGTSTP:暂停进程,一般用ctrl + z发出暂停信号
kill -9 进程号pid # 直接杀死进程,可以杀死所有进程,如僵尸进程等
kill 进程号pid # 发送15信号,终止进程
kill特殊信号之0
kill的特殊信号0 ,常用在shell脚本中
kill -0 $pid 表示不发送任何的信号给pid,但是会对这个pid进程检查,如果执行结果为0,表示此进程存在,如果结果为1,表示进程不存在。(信号0可以判断pid是否存在)
echo $? # shell 的特殊变量,取出上一次命令的执行结果。
killall命令
kill杀死进程,只能杀死一个,通过killall 名称 杀死名称有关所有进程
killall vim 终止所有vim进程
pkill命令
pkill 可以通过进程名字杀死多个进程,killall杀死进程可能杀不死(进程可能含有子进程,killall要杀死多次)
pkill 可以直接杀死父进程和子进程