• 【Linux】进程与服务


    基本介绍

    • 进程:每一个正在被执行的程序。每个进程都被分配一个id号:PID。
    • 进程以两种方式存在:前台和后台。前台进程即是用户屏幕上正在运行的进程,后台进程则是在屏幕上看不到而实际在运行的进程。
    • 系统的服务一般以后台的形式常驻于系统。

    ps查看进程状态指令

    参数

    • -a:显示当前终端的所有进程信息
    • -u:以用户格式显示进程信息
    • -x:显示后台进程运行的参数
    • -e:所有进程
    • -f:全格式

    ps -aux

    在这里插入图片描述

    ps -ef (可以显示父子进程)

    在这里插入图片描述

    详解:

    • USER:用户
    • PID:进程号
    • PPID:父进程号
    • %CPU:占用cpu的百分比
    • %MEM:占用物理内存的百分比
    • VSZ:占用虚拟内存大小 单位kb
    • RSS:占用物理内存大小 单位kb
    • TTY:终端名称或缩写
    • STAT进程状态:
      • S-睡眠;W-等待中进程;R-正在运行;D-短期等待的休眠进程;Z-僵死进程;T-被跟踪或被停止;s-session leader进程 表示该进程是会话的先导进程(有子进程);N-优先级较低;< -优先级较高;I-多线程:+ -位于后台的进程组。
    • STARTED:进程的启动时间
    • TIME:进程使用cpu的总时间
    • COMMAND:启动进程所用的命令和参数

    kill&killall杀死进程指令

    kill [参数] 进程号

    killall 进程名 (支持通配符 便于批处理)

    参数: -9 强制终止

    pstree查看进程树指令

    更加清晰地显示进程之间的父子关系

    pstree [参数]

    参数:

    • -p:显示进程的PID
    • -u:显示进程的所属用户

    在这里插入图片描述

    服务管理Service

    又称为守护进程。运行在后台,通常会监听某个端口,等待其他程序的请求,比如mysql、sshd、防火墙等。

    service 服务名 [start | stop | restart | status | reload]

    服务的运行级别runlevel

    七种运行级别-之前入门手册里讲过

    0-关机
    1-单用户 【找回丢失密码】
    2-多用户 无网络
    3-多用户 有网络
    4-系统未使用保留给用户
    5-图形界面
    6-系统重启
    一般级别3和5比较常用,但是在工作中最常用的是级别3,与级别5相比更省资源
    开机的流程说明:开机->BIOS->/boot->systemd进程1->运行级别->运行对应的服务

    chkconfig给服务的各个运行级别设置自启动/关闭指令

    chkconfig命令属于readhat系的,如果系统属debina系如ubuntu是没有这个命令的,不过可以直接用systemctl。(kali属于Ubuntu)
    centos7之后也大多用systemctl

    • chkconfig --list //查看服务
    • chkconfig 服务名 --list
    • chkconfig --level 5 服务名 on/off//对某服务在运行级别5开启或关闭自启动 注意执行完之后需要reboot生效
    systemctl管理指令

    目前最常用的管理指令。

    systemctl [start | stop | restart | status ] 服务名 //管理服务

    • systemctl list-unit-files [|grep 服务名]//查看所有服务状态
    • systemctl enable 服务名//开启自启动
    • systemctl disable服务名 /关闭自启动
    • systemctl is-enable服务名 //询问是否自启动
    firewall指令

    防火墙的端口设置。如果没有防火墙的话,外部的地址可以通过某些端口和协议直接与本地建立联系,但是启用了防火墙的话,可以设定开放或者关闭一些端口,使得只有指定的端口可以使用。

    • firewall-cmd --permanent --add-port=端口号/协议//打开端口
    • firewall-cmd --permanent --remove-port=端口号/协议//关闭端口
    • firewall-cmd --reload//重新载入才能生效
    • firewall-cmd --query-port=端口号/协议//查询端口是否开放

    top动态监控进程指令

    与ps指令很相似,不过不同的是top执行一段时间可以更新正在运行的程序。

    top [参数]

    参数:

    • -d 秒数:指定top指令每隔几秒更新,默认是3秒
    • -i:使top不显示任何闲置或者僵死进程
    • -p:通过指定监控进程ID来仅仅监控某个进程的状态6
      在这里插入图片描述

    netstat查看系统网络情况指令

    netstat [参数] [ | grep 服务名 ]

    • -an:按一定顺序排列输出
    • -p:显示哪个进程在调用

    在这里插入图片描述

    详解:

    • proto 网络协议
    • local address 本地地址
    • foreign address 外部地址
    • state 状态 :ESTABLISHED连接 LISTEN监听 TIME_WAIT超时等待

    一些网络基础:地址冒号后面的数字代表建立连接的端口,本地和外部通过端口建立连接,因此本地地址和外部地址双方都要有一个端口,不过端口也不一定只能是一对一的,也可以二对一。

  • 相关阅读:
    qtcreator的快捷键
    治臻新能源冲刺科创板:年营收2.2亿 上汽创投是股东
    python 装饰器使用,打印函数调用层级_1
    苹果M3 MacBook Pro续航实测 续航超17小时 比 M2 Pro 还要长
    Wonderware 实时库——一套可落地的传统工业实时库
    基于图数据库的元数据血缘关系分析技术研究与实践
    Oracle等数据库报盘步骤(使用脚本批量压缩)
    神经网络图像识别技术,图像识别神经网络算法
    【计算理论】复杂性类coNP
    Java实现卡方检验
  • 原文地址:https://blog.csdn.net/Genevieve_xiao/article/details/125999066