百度
360搜索
搜狗搜索

linux下有关进程相关命令详解详细介绍

在 Linux 系统中,进程管理是系统管理的核心部分之一。以下是常用的进程相关命令详解,涵盖进程查看、监控、控制、终止等操作:

一、查看进程状态

1.
ps:静态查看进程信息(最常用)

  • 功能:显示当前系统中的进程快照(瞬间状态)。
  • 语法ps [选项]
  • 常用选项
    • BSD 风格(常用组合)
      • ps aux:显示所有用户的进程,包含详细信息。
        • a:显示终端上的所有进程(包括其他用户)。
        • u:以用户格式显示(显示用户名、CPU、内存等)。
        • x:显示无终端的进程(后台服务等)。

    • System V 风格
      • ps -ef:显示全格式进程信息(更适合查看进程树)。
        • -e:显示所有进程。
        • -f:显示完整格式(包含父进程 PID、命令完整路径等)。

  • 输出列说明(以 ps aux 为例)
    • USER:进程所属用户。
    • PID:进程 ID。
    • %CPU:CPU 使用率。
    • %MEM:内存使用率。
    • VSZ:虚拟内存大小(KB)。
    • RSS:常驻内存大小(KB)。
    • TTY:进程关联的终端(? 表示无终端)。
    • STAT:进程状态(R 运行,S 睡眠,D 不可中断睡眠,Z 僵尸进程,T 停止,s 会话 leader,+ 前台进程)。
    • START:进程启动时间。
    • TIME:累计 CPU 时间。
    • COMMAND:进程执行的命令(完整命令可通过 -f 查看)。

  • 示例:bash
     aux   nginx  

2.
pgrep:按条件快速查找进程 PID

  • 功能:通过名称、用户、进程状态等条件搜索进程 PID。
  • 语法pgrep [选项] [关键词]
  • 常用选项
    • -u <用户>:指定用户的进程(如 -u root)。
    • -l:显示进程名称。
    • -x:精确匹配进程名称(完全一致)。
    • -f:匹配命令行中的任意字符串(而非仅进程名)。

  • 示例:bash
    pgrep sshd          

    pgrep firefox

    pgrep ubuntu httpd

二、实时监控进程

1.
top:动态实时监控进程(交互式)

  • 功能:实时显示系统资源(CPU、内存、进程等)的使用情况,支持交互式操作。
  • 语法top
  • 常用交互命令(运行中按以下按键)
    • P:按 CPU 使用率排序(默认)。
    • M:按内存使用率排序。
    • N:按 PID 排序。
    • k:输入 PID 后终止指定进程(发送 SIGTERM 信号)。
    • q:退出 top
    • u:输入用户名,仅显示该用户的进程。

  • 输出列说明(部分关键列)
    • %CPU:单个进程的 CPU 使用率。
    • %MEM:单个进程的内存使用率。
    • NI:进程优先级(nice 值,范围 -20(最高优先级)到 19(最低优先级))。
    • TIME+:进程累计运行时间(精确到秒)。

2.
htop:增强版
top(需安装)

  • 功能:比 top 更直观,支持鼠标操作、进程树查看、颜色标记等。
  • 安装(以 Debian/Ubuntu 为例):sudo apt install htop
  • 特点
    • 可横向滚动查看完整命令行。
    • 显示每个进程的线程数。
    • 支持直接终止、暂停进程(通过方向键和功能键操作)。

三、终止进程

1.
kill:向进程发送信号(最常用)

  • 功能:通过进程 PID 发送信号,终止或控制进程。
  • 语法kill [信号] PIDkill -信号 PID
  • 常用信号
    • 1SIGHUP):重新加载配置(如 kill -HUP PID)。
    • 9SIGKILL):强制终止进程(无法被忽略或捕获,最后手段)。
    • 15SIGTERM):正常终止进程(默认信号,建议优先使用)。
    • 2SIGINT):等价于 Ctrl+C,终止前台进程。

  • 示例:bash
               

2.
pkill:按条件终止进程(结合
pgrep 的功能)

  • 功能:通过名称、用户等条件批量终止进程,无需手动获取 PID。
  • 语法pkill [选项] [关键词]
  • 常用选项(类似 pgrep):
    • -u <用户>:终止指定用户的进程。
    • -f:匹配命令行中的任意字符串。
    • -9:发送 SIGKILL 信号(强制终止)。

  • 示例:bash
     firefox      

    ubuntu httpd

四、作业控制(终端内进程管理)

1.
jobs:查看当前终端的后台作业

  • 功能:显示通过 & 放到后台的进程或被挂起的作业。
  • 语法jobs
  • 输出示例:bash
    +  Running                 firefox 

    - Stopped

    • [1]:作业编号。
    • +:默认作业(可用 fg/bg 直接操作)。
    • -:次默认作业。

2.
bg:将暂停的作业放到后台运行

  • 语法bg [作业编号]
  • 示例:bash
       

3.
fg:将后台作业切换到前台

  • 语法fg [作业编号]
  • 示例:bash
       

4.
Ctrl+Z:挂起前台进程(暂停并放入后台)

  • 操作:在前台进程运行时按 Ctrl+Z,进程状态变为 Stopped,可通过 bg 恢复运行。

五、调整进程优先级

1.
nice:启动进程时设置优先级

  • 功能:在创建进程时指定其 nice 值(影响 CPU 调度优先级)。
  • 语法nice [-n 优先级] 命令
  • 优先级范围-20(最高优先级)到 19(最低优先级,默认 0)。
  • 示例:bash
       ./compile.sh  

2.
renice:修改正在运行进程的优先级

  • 功能:调整已有进程的 nice 值。
  • 语法renice [-n 优先级] -p PID
  • 示例:bash
          

六、其他相关命令

1.
ps -eF
pstree:查看进程树

  • 功能:显示进程的父子关系(树形结构)。
  • 示例:bash
    pstree   

2.
lsof:查看进程打开的文件 / 端口

  • 功能:通过进程 PID 或文件名,查看进程关联的文件、网络连接等。
  • 示例:bash
        

3.
netstat -ap
ss -tunlp:查看网络相关进程

  • 功能:结合端口号查看对应的进程(常用于排查端口占用)。
  • 示例:bash
    ss    :80  

总结:常用场景与命令

场景 命令
查看所有进程 ps aux(简洁)、ps -ef(完整)
实时监控进程 top(基础)、htop(增强)
按名称查找进程 PID pgrep 进程名
终止单个进程 kill PID(正常终止)、kill -9 PID(强制终止)
按名称终止进程 pkill 进程名(支持模糊匹配)
管理终端后台作业 jobsbgfgCtrl+Z
调整进程优先级 nice(启动时)、renice(运行中)
查看进程树 pstree -p
查看端口占用的进程 lsof -i:端口 或 `ss -tunlp grep 端口 `

注意事项

  • 强制终止(SIGKILL:可能导致数据丢失或程序异常,优先使用 SIGTERM(默认 kill 信号)。
  • 僵尸进程(Z 状态):若进程状态为 Z(僵尸),需通过重启其父进程或系统解决(无法直接杀死)。
  • 权限问题:部分操作(如调整优先级、终止其他用户进程)需 rootsudo 权限。

通过以上命令,可全面管理 Linux 系统中的进程,满足日常监控、调试和故障排查需求。

阅读更多 >>>  市场营销组合6ps的含义是什么
← 上一篇: 下一篇:

网站数据信息

"linux下有关进程相关命令详解"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux下有关进程相关命令详解的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!