linux 进程命令
ps命令,用于报告当前系统的进程状态的命令
ps命令主要用于查询进程信息,主要和kill命令搭配,进行对进程 的管理
1.ps 找出进程的号码
2.kill 杀死进程,重启进程
ps命令可以查询那些进程正在运行,已经那些进程已经停止,以及错误的进程(没有正确停止的进程)
以及ps可以查看进程使用的资源情况 ,linux的某一个进程是否占用了大量的内存,cpu等资源
ps命令语法
ps 选项 (功能参数) 要操作的对象
实际使用
ps 不加任何参数
PID ,代表这个进程对应的id号码
CMD,正在执行的系统命令行是什么
TTY,进程所属的控制台号码
TIME,进程所使用CPU的总时间
可以通过grep 命令过滤出某一个进程的信息,以及进行管理
[root@localhost ~]# ps |grep bash
25319 pts/0 00:00:00 bash
kill -9 pid 号码 #强制杀死进程
ps 的组合命令
ps -ef #显示出linux机器所有详细的进程信息
-e,列出系统所有运行的进程
-f 显示 UID PID PPID C STIME TTY TIME CMD 等信息
UID :这个进程是哪个用户执行的命令
PID:进程的标识号码,用于启停进程
PPID:进程的父进程标识号
C:表示cpu使用的资源百分比
STIME:表示进程开始执行的时间
TTY:该进程在哪个终端上执行的
TIME:该进程使用的cpu总时长
CMD :用户执行某条命令,产生的进程信息
13.过滤出系统指定的进程信息
ps -ef |grep vim #找出vim相关的进程信息
ps命令的参数,分为两种系统形式
第一种,不带减号的参数
ps ef #不带减号的参数 e 列出进程信息是,添加每个进程所在的环境变量 f 以ASCII码字符显示进程间的关系
第二种:带减号的参数
ps -e -f # -e 的作用 是显示出所有进程的信息 -f 就是显示出 UID PPID ,C ,STIME 等信息
ps查看进程的组合命令
ps aux #参数 a 显示当前终端下所有的进程,包括其他用户的进程信息 u 以用户为主的格式显示进程情况 x 显示所有进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3845 0.0 0.3 161380 6080 ? Ss 14:56 0:00 sshd: root@pts/0
USER 这个进程属于哪个用户
PID:进程ID
%CPU:显示cpu的百分比使用情况
%MEM:显示内存的百分比使用情况
VSZ:该进程使用的swap内存单位
RSS:表示进程锁占用的内存量
TTY:这个进程所在的中端信息
STAT:表示进程此时的状态
S:终端睡眠中,可以被唤醒
s:这个进程含有子进程,就会显示有s
R:这个进程运行中
D:这个进程不可中断睡眠
T:表示进程已停止
Z:进程已经是僵尸进程了,父进程异常崩溃
+:前台进程
N:低优先级进程
<:高优先级进程
L:该进程已经被锁定
TIME:进程执行的命令是什么
CMD:进程执行的命令是什么
ps 查看进程的两大命令
ps aux |gerp nginx
ps -ef | grep mysql
显示指定用户的进程信息
ps -u #指定查看某个用户的进程
ps -u root #显示root 的进程信息
显示进程进程树的信息,用UNIX风格的命令,就是易携带者减号的参数
ps -eH #显示父进程,子进程的目录结构信息
自定义进程查看的格式
ps -eo pid,args,
查看进程树的命令
pstree 能够清晰的表达程序之间的 层级相互关系
在centos/Redhat 系列linux 中,需要单独安装此命令
yum install psmisc - y
pgrep
通过程序的名字去查询相关进程,一般用来判断进程是否存活
pgrep nginx #查询nginx进程是否存在
pgrep -l ssh #输出进程id号,以及进程名
kill命令
发送相关信号给进程,达到不同的停止效果
-l 列出所有的杀死,终止信号
常用信号
1) SIGHUP 挂起进程,终端突然掉线,用户突然退出
2) SIGINT 中断信号,一般常用ctrl + c 发送 信号2
3) SIGQUIT 退出信号,一般用ctrl+\ 发出 信号3、
9) SIGKILL 强制中断信号,一般用于立即杀死信号
15) SIGTERM kill默认使用的就是 15 信号,终止信号
20) SIGTSTP 暂停进程,通常是组合键ctrl + z 发出暂停信号
终止进程
kill pid #发送15信号,终止进程
kill -9 pid #立即停止进程,危险命令,可以杀死所有的进程,如僵尸进程等
kill特殊信号之0
kill的特殊信号0,常用在shell脚本中
kill -0 $pid 表示不发生任何的信号给pid,但是会对这个pid进行检查,如果执行的结果是0,表示此进程存在,如果结果为1,进程不存在
(信号0可以判断信号,pid是否存在)
kill -0 pid #进程id存在·的话,不做任何事,可以检测pid 是否存活
echo $? #shell的特殊变量,取出上一次命令的执行结果。为0表示命令正确,不为0都是错误状态码
killall 命令
kill杀死进程,只能杀死一个pid进程,通过killall可以直接通过名字杀死进程
killall vim #杀死所有的vim 进程
killall nginx #终止所有的nginx进程
pkill命令
pkill 可以通过进程名字杀死多个进程,killall 杀死进程可能一次杀不死(进程可能含有子进程,killall 要杀死多次)
pkill可以直接杀死父进程和子进程
pkill nginx #杀死所有的 nginx进程
pkill ping #杀死所有的ping进程
通过终端的名字杀死进程