zoukankan      html  css  js  c++  java
  • 5.Linux进程管理

    Linux服务启动判断

    1.什么是进程,为什么要看进程?

    程序运行期间就会产生进程,查看进程就是为了判断某个程序是否启动

    当然判断一个服务是否启动有3种方式:

    • 查看进程
    • 查看端口
    • 查看状态

    1.1 查看进程

    1.1.1 静态查看进程

    方式一
    [root@linux-server ~]# ps aux #aux前面可以加-或不加
    参数解释:
    ps :process nsapashot
    a 只能查看系统里面运行的所有终端进程
    u 显示进程拥有者
    x 显示系统内所有进程
    f 显示进程之间的父子关系
    
    [root@linux-server ~]# tty
    ? 表示这个进程开启的时候没有占用终端
    0 表示没有
    
    方式二
    [root@linux-server ~]# ps -ef
    参数解释:
    -e 显示所有进程
    -l 长格式显示
    -f 完整格式
    

    实际应用

    PID进程的编号,一个PID对应一个进程

    查看指定PID

    [root@linux-server ~]# ps aux | grep 指定的服务名
    

    1.2 查看端口

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

    方式一
    [root@linux-server ~]# yum -y install net-tools #安装
    [root@linux-server ~]# netstat -lntp
    参数详解:
    -a 显示全部的进程
    -u 显示udp
    -n 以数字的新式显示协议名称
    -t tcp
    -p:显示进程的名称和pid
    -l :只显示正在被监听的端口
    
    方式二
    [root@linux-server ~]# yum install lsof #安装
    [root@linux-server ~]# lsof -i:80 		#端口号,这能查看带端口的进程
    

    1.3 查看服务状态

    systemctl status 服务名

    active(running)代表启动

    1.4 动态查看进程

    两种动态查看方式:top 和 htop 区别在于htop美观。

    方式一 top
    [root@linux-server ~]# top  #动态显示信息,三秒刷新一次。
    
    方式二 htop 需要安装
    [root@linux-server ~]# yum install -y epel*
    [root@linux-server ~]# yum install -y htop
    [root@linux-server ~]# htop
    

    1.4.1 动态查看相关操作

    [root@linux-server ~]# top
    1 查看CPU个数从0开始
    h|? 帮助
    > 往下翻页
    < 往上翻页
    M 按内存排序
    P 按cpu排序
    q 退出   
    z 彩色显示
    W 保存
    

    实际工作中用动态查看实时监控CPU的平均负载

    load average(平均负载)等待cpu处理的队列长度也是个数。

    1分钟 第一个数字

    5分钟 第二个数字

    15分钟 第三个数字

    如何判断CPU负载过高

    计算cpu负载:load average的三个值分别除cpu的个数,得出的值,如果值大于1那么那时候的负载高。

    进程优先级 nice

    nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。

    nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。

    进程状态了解
    Sl  以线程的方式运行
    Ss  s进程的领导者,父进程
    R+  +表示是前台的进程组
    S<  <优先级较高的进程 	
    SN  N优先级较低的进程
    

    1.5 给进程发送信号

    kill 按pid杀进程

    pkill 按进程名杀进程

    语法: kill 信号 PID   #信号也是进程间通信的一种方式,pkill用法一样
    [root@linux-server ~]# kill -l   #查看所有信号
    -1   HUP  重新加载进程或者重新加载配置文件,PID不变
    -9   KILL 强制杀死
    -15  TERM 正常杀死(这个信号可以默认不写)
    -18  CONT 激活进程
    -19  STOP 挂起进程
    

    1.6 服务挂后台运行jobs

    [root@linux-server~]# sleep 7000 & # & 让命令或者程序后台运行
    [root@linux-server ~]# sleep 8000  # ctrl+z 把程序放到后台(这方法会让程序在后台暂停)
    [root@linux-server ~]# jobs   #查看后台的工作号
    %程序的工作号,代表指定第几个后台程序
    [root@linux-server ~]# bg %2  #让暂停的程序在后台运行
    [root@linux-server ~]# fg %1  #将后台的程序调到前台
    [root@linux-server ~]# kill -9 %1  #通过kill杀死进程
    
  • 相关阅读:
    前台js的复制与粘贴
    idea
    前台 js easyUI datagrid 杂记 验证(disable)
    《命运赋》
    前台
    js 、 java去除字符串中的数字
    【 协议 】 freemodbus的分层结构分析
    王爽 汇编11.10(2)编程用串传送指令,将F000H段中最后的16个字节复制到data段中
    王爽 汇编11.10(1)编程用串传送指令,将data段中的第一个字符串赋值到它后面的空间中
    汇编语搜索言中32位CPU多出的两个FS、GS段寄存器,全称是什么啊?
  • 原文地址:https://www.cnblogs.com/eba001/p/14286900.html
Copyright © 2011-2022 走看看