• 大数据学习:进程管理


    一、进程ID(PID)

    • 进程启动时,操作系统为其分配相对应的系统内唯一的进程ID(PID)
    • 执行命令:ps -aux,查看进程详情
      在这里插入图片描述

    二、查看进程

    1、进程查看命令-ps
    (1)命令作用
    • 将某个时间点的程序运作情况截取下来
    (2)参数说明
    参数作用
    a和输入终端关联的所有进程,通常与x一起使用,列出完整信息
    x后台进程,通常与a 这个参数一起使用,可列出较完整信息
    u有效使用者相关的进程
    (3)操作案例
    • 执行命令:ps la | head -5,能够观察所有系统的数据

    在这里插入图片描述

    • 执行命令:ps axjf | head -20,连同部分程序树状态
      在这里插入图片描述
    • 执行命令:ps l仅查看自己的bash相关的进程在这里插入图片描述
    • 执行命令:ps aux观察系统所有进程
      在这里插入图片描述
    2、Linux进程状态
    状态值含义
    R指正在被CPU运行或者就绪的状态(在run_queue队列里的状态)
    S可中断的睡眠状态,处于等待状态中的进程,一旦被该进程等待的资源被释放,那么该进程就会进入运行状态
    D不可中断的睡眠状态,该状态的进程只能用wake_up()函数唤醒
    T当进程收到信号SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU时就会进入暂停状态。可向其发送SIGCONT信号让进程转换到可运行状态
    Z僵尸进程:当进程已经终止运行,但是父进程还没有询问其状态的情况。不可被kill,即不响应任务信号,无法用SIGKILL杀死
    3、观察进程变化命令 -top
    (1)参数选项
    选项含义
    -d后面可以接秒数,就是整个程序画面更新的秒数;默认5秒
    -b以批次方式执行top,还有更多参数可以使用,通常会搭配数据流重导向来将批次的结果输出成为档案
    -n与-b 搭配,作用是需要进行几次top的输出结果
    -p指定某些个PID 来进行观察监测
    (2)操作案例
    • 执行命令:top -d 3,每隔三秒更新一次数据
      在这里插入图片描述
    • 执行命令:top -b -n 2,进行两次top的输出结果
      在这里插入图片描述
      在这里插入图片描述
    4、查看进程树命令 -pstree
    (1)命令概述
    • pstree命令用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以直观地看出是谁创建了谁。Linux 系统中进程之间的关系就是一棵树,树的根就是进程 PID 为 1 的 init 进程
    (2)安装pstree
    • 执行命令:yum -y install psmisc
      在这里插入图片描述
    (3)参数说明
    参数含义
    -A各进程树之间的连接以 ASCII 码字符来连接
    -U各进程树之间的连接以 utf8 字符来连接,某些终端可能会有错误
    -p
    -u同时列出每个进程的所属账号名称
    (4)操作案例
    • 执行命令:pstree

    在这里插入图片描述

    • 执行命令:pstree -Aup`
      在这里插入图片描述

    三、杀死进程 -kill命令

    1、命令作用
    • kill发送信号,并不只是杀进程
    2、参数说明
    参数函数
    -l这个是L的小写,列出目前kill 能够使用的信号(signal)有哪些? signal 向进程发送的信号,指示其进行不同操作。用man 7 signal 可知
    -15以正常的程序方式终止一个进程!!!
    -9立刻强制终止一个进程!!!
    -2代表由键盘输入[Ctrl + C] 同样的动作
    -1对于sshd这样的守护进程,重新读取一次参数的配置文件(类似reload),如果进程为非守护进程,默认为终止进程
    3、操作案例
    • 执行命令:pstree -aup | grep sshd
      在这里插入图片描述
    • 用参数-1来杀910进程,执行命令:kill -1 1230
      在这里插入图片描述
    • 说明没有杀死sshd进程,又重新加载了
    • 用参数-9来杀死这个守护进程sshd,执行命令:kill -9 1230
      在这里插入图片描述
    • 启动firewalld进程并查看其进程树
      在这里插入图片描述
    • 问题:父进程被kill掉,它的子进程是否就一起被kill掉?
      在这里插入图片描述
    • 结论:父进程被kill掉了,但是其子进程还依然存在
  • 相关阅读:
    yolov8训练初体验
    基于python+django+vue.js开发的健身房管理系统
    多线程【锁策略与CAS的ABA问题】
    【算法】新年好(堆优化dijkstra)
    通过shell或java操作HDFS
    IDEA 导入配置一个 MVC 复古项目
    Java学习笔记(二)
    Istio-PilotAgent源码分析
    Clickhouse实时数仓建设
    信息学奥赛一本通 2074:【21CSPJ普及组】分糖果(candy) | 洛谷 P7909 [CSP-J 2021] 分糖果
  • 原文地址:https://blog.csdn.net/X_Serendipity/article/details/128196822