centos7进程管理

什么是进程

进程是已启动的可执行程序的运行实例,是程序运行的过程,动态的,有生命周期及运行状态。

程序: 二进制文件,静态 

静态查看进程

查看进程(一)

[root@zaotounan ~]# ps aux
ps :process nsapashot 进程管理
参数解释:

a           只能查看系统里面运行的所有终端进程
u           显示进程拥有者
x           显示系统内所有进程
f           显示进程之间的父子关系
查询显示解析

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
============================================================================

USER:   #运行进程的用户
PID:   #进程ID
%CPU:   #CPU占用率
%MEM:   #内存占用率
VSZ     进程占用的虚拟内存大小。
RSS     占用的物理内存大小
TTY:    ?       表示没有占用终端
        R       运行
        S       可中断睡眠 Sleep
        D       不可中断睡眠
        T       停止的进程
        Z       僵尸进程
        X       死掉的进程
STAT:  #进程状态
        Sl          以线程的方式运行
        Ss          s进程的领导者,父进程
        R+          +表示是前台的进程组
        S<          <优先级较高的进程  
        SN          N优先级较低的进程
START:          #进程的启动时间
TIME:           #进程占用CPU的总时间
COMMAND:         #进程文件,进程名

查看进程(二)

[root@zaotounan ~]# ps -ef
参数解释:

-e              显示所有进程
-l              长格式显示
-f              完整格式
查询显示解析

UID         PID   PPID  C STIME TTY          TIME CMD
=================================================================

UID          用户ID
PID          进程ID
PPID         父进程ID
C            CPU占用率
STIME        开始时间
TTY         开始此进程的TTY----终端设备
TIME         此进程运行的总时间
CMD          命令名

查看单个PID

[root@zaotounan ~]#ps aux | grep 需要查看的进程名

grep:过滤

[root@zaotounan ~]# pgrep 需要查看的进程名

[root@zaotounan ~]# pidof 需要查看的进程名

查看端口

[root@zaotounan ~]# yum -y install lsof  #安装软件包
[root@zaotounan ~]# lsof -i:端口号    

#注意:端口号只有整数,范围是从0 到65535

参数解释:
FD:             文件描述符,应用程序通过文件描述符识别该文件。
DEVICE:         指定磁盘的名称
SIZE:           文件的大小

查网络进程和正在监听的端口

[root@zaotounan ~]# yum -y install net-tools  #安装软件包
[root@zaotounan ~]# netstat -nplt


[root@zaotounan ~]# ss -nplt


参数详解:
-a          显示全部的进程
-u          显示udp
-n          以数字的新式显示协议名称
-t          tcp
-p          显示进程的名称和pid
-l          只显示正在被监听的端口

参数解释:
recv-Q:网络接收队列。表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。
send-Q:网路发送队列。对方没有收到的数据或者说没有Ack的,还是本地缓冲区.如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。
Foreign Address:与本机端口通信的外部请求
看已经登陆到终端的进程信息,远程登陆会有ip 地址

[root@zaotounan ~]# w  

USER   TTY   FRO    LOGIN@   IDLE   JCPU    PCPU     WHAT
=========================================================

部分参数解释:
USER                –登录用户名.
TTY                 –登录用户使用的终端名.
FROM                –登录用户来源的主机名或IP地址.
LOGIN@              –用户登录时间.
WHAT                –用户当前的进程及选项/参数。
部分参数解释:
USER                –登录用户名.
TTY                 –登录用户使用的终端名.
FROM                –登录用户来源的主机名或IP地址.
LOGIN@              –用户登录时间.
WHAT                –用户当前的进程及选项/参数。

动态查看进程

动态显示信息,三秒刷新一次。

[root@zaotounan ~]#top  

参数解析
load average: 0.00, 0.01, 0.02
在工作中必须监控的东西 load average(平均负载)等待cpu处理的队列长度 也是个数。
1分钟   第一个数字
5分钟   第二个数字
15分钟  第三个数字
======================
计算cpu负载:load average的三个值: 0.00, 0.01, 0.02,分别除cpu的个数,得出的值,如果值大于1那么那时候的负载高
======================
%Cpu(s):  0.0 us,  1.6 sy,  0.0 ni, 98.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  7990068 total,  7291012 free,   516976 used,   182080 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  7239164 avail Mem 
us:             用户态进程占用cpu
sy              系统态进程占用cpu
ni: nice        值
id: cpu         空闲率
wa: cpu         等待,等待输入/输出的进程占用的 CPU 百分比。如果使用率过高,表示硬盘该换了
hi:             硬中断,请求插队
si:             软中断
st:             停止

top操作

[root@zaotounan ~]# top

h|?         帮助
>           往下翻页
<           往上翻页
M           按内存排序
P           按cpu排序
q           退出  
z           彩色显示
W           保存
=====================================
PR          优先级
VIRT        进程使用的虚拟内存总量,单位kb。
RES         进程使用的、未被换出的物理内存大小,单位kb。
SHR         共享内存大小,单位kb

动态查看进程结果不打印到终端

命令安装
[root@zaotounan ~]# yum -y install htop
执行命令
[root@zaotounan ~]#  htop  
退出
ctrl  +z

进程优先级 nice

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

修改进程优先级
[root@zaotounan ~]# renice -n -10  pid

进程控制

按pid杀死进程

kill,pkill
语法: kill 信号 PID   #信号也是进程间通信的一种方式

[root@zaotounan ~]# kill -l   #查看所有信号

常用参数解析
-1          HUP  重新加载进程或者重新加载配置文件,PID不变  
-9           KILL 强制杀死
-15         TERM 正常杀死(这个信号可以默认不写)
-18          CONT 激活进程
-19          STOP 挂起进程

作业控制jobs

1.[root@zaotounan ~]# 作业号 &
作业开始及挂载

jobs  #查看后台的工作号

2.[root@zaotounan ~]# 作业 Crtl +z 暂停
 
 [root@zaotounan ~]# bg %工作号   #让暂停的程序在后台运行,%是用来修饰job number,2就是job number。(程序的工作号)

 [root@zaotounan ~]# fg %作业号  #将后台的程序调到前台

3.[root@zaotounan ~]# kill -9 %工作号  #通过kill杀死进程

[root@zaotounan ~]# nohup 作业名 & >/文件 如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

希望能够帮助到大家!

  • 33
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

藻头男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值