shell命令整理(五)之进程管理

2021-09-08  本文已影响0人  比巴卜超软泡泡糖

进程管理

静态查看进程

ps
# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
===========================================================================
USER:   #运行进程的用户
PID:    #进程ID
%CPU:  #CPU占用率
%MEM: #内存占用率
STAT:   #进程状态    man ps (/STATE)
?    表示没有占用终端
R   运行
S   可中断睡眠 Sleep
D   不可中断睡眠 (usually IO)
T   停止的进程 
Z   僵尸进程
X    死掉的进程
START:  #进程的启动时间
TIME:   #进程占用CPU的总时间
COMMAND: #进程文件,进程名
# ps auxf
参数解释:
ps :process nsapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系


# ps -ef
参数解释:
-e 显示所有进程
-l 长格式显示
-f 完整格式

按指定字段排序

#ps aux --sort %cpu | less
--sort:排序

查看端口

lsof
#yum -y install lsof            #安装lsof
#lsof -i:80                #查看80端口的进程
netstat
# netstat -lntp
参数详解:
-a  显示全部的进程
-u  显示udp
-n  以数字的新式显示协议名称
-t   tcp
-p:显示进程的名称和pid
-l :只显示正在被监听的端口

动态查看进程

top、htop
# top  #动态显示信息,一秒刷新一次。

load average(平均负载)等待cpu处理的队列长度 也是个数。
1分钟   第一个数字
5分钟   第二个数字
15分钟  第三个数字
值超过1就是负载高了
QQ截图20210908173833.png
[root@linux-server ~]# top
h|? 帮助
> 往下翻页
< 往上翻页
M 按内存排序
P 按cpu排序
q 退出   
z 彩色显示
r 调整进程的nice优先级
W 保存
1 查看cpu个数
=============================
进程状态了解
Sl  以线程的方式运行
Ss  s进程的领导者,父进程
R+  +表示是前台的进程组
S< <优先级较高的进程    
SN  N优先级较低的进程

进程控制

kill、pkill
kill,pkill
语法: kill 信号 PID   #信号也是进程间通信的一种方式
kill与pkill的区别:
kill+pid
pkill+服务名称(进程名)
# kill -l   #查看所有信号
-1   HUP  重新加载进程或者重新加载配置文件,PID不变
-9   KILL 强制杀死
-15  TERM 正常杀死(这个信号可以默认不写)
-18  CONT 激活进程
-19  STOP 挂起进程

进程优先级nice

nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。

查看进程优先级

# ps axo pid,command,nice  --sort=-nice | less
o:指定字段

或者使用top查看

作业控制

# vim a.txt &   #放后台运行
[1] 101839
# jobs  #查看工作号
[1]-  Stopped                 vim a.txt
# fg %1  #把程序调到前台,%是用来修饰job number,1就是job number(程序的工作号)
# ctrl+z  #把程序放到后台(这方法会让程序在后台暂停)
# bg %1  #让暂停的程序在后台运行
[1]+  Stopped                 vim a.txt
# kill -9 %1 #杀死程序
[1]+  Stopped                 vim a.txt
# jobs  #再次查看为空

jar包或者微服务
nohup java -jar ****.jar & 放后台运行  
nohup是一个守护进程,执行启动java的jar包,比如,微服务类或者jar包
停止:ps -ef |grep **** 
kill -9 pid
启动:nohup java -jar ****.jar &

启动方式:
1.systemctl
2.绝对路径
3.service nginx start
4./etc/ini.d/nginx start

jobs 查看进程
fg %工作号 后台程序调到前台
bg %工作号 调到前台
上一篇下一篇

猜你喜欢

热点阅读