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进程

 通过终端的名字杀死进程

posted on 2021-06-10 22:41  sprr  阅读(143)  评论(0编辑  收藏  举报