0

0

Linux命令行中如何查看进程信息

P粉602998670

P粉602998670

发布时间:2025-09-11 09:05:01

|

787人浏览过

|

来源于php中文网

原创

ps、top、htop、pgrep、pidof等命令用于查看Linux进程信息:ps提供静态快照,top和htop实现动态监控,pgrep和pidof按名称查找进程ID;其中ps的STAT列显示进程状态,如R(运行)、S(睡眠)、Z(僵尸)等;top默认按CPU使用率排序,可结合P、M、N键切换排序方式,并用k键终止高耗进程;pgrep结合kill可精准结束指定进程,如pgrep firefox获取PID后执行kill或kill -9强制终止。

linux命令行中如何查看进程信息

查看Linux命令行中的进程信息,主要依靠

ps
top
htop
pgrep
pidof
等命令。它们各有侧重,可以从不同角度展示系统进程的运行状态。

ps命令:静态快照 top命令:动态实时视图 pgrep命令:根据名称查找进程ID pidof命令:查找指定程序运行的进程ID

ps命令是最基础的,它能提供进程的静态快照。但如果你想实时监控进程动态,top命令就更合适了。而当你只想找到某个特定进程的ID时,pgrep或者pidof会更便捷。

解决方案

1. 使用

ps
命令:

ps
命令提供了进程的静态快照。常用的选项包括:

  • ps aux
    : 显示所有用户的进程,包括没有控制终端的进程。
    a
    显示所有用户,
    u
    显示用户名和启动时间,
    x
    显示没有控制终端的进程。
  • ps -ef
    : 显示所有进程的详细信息,包括父进程ID (PPID)。
    e
    显示所有进程,
    f
    显示完整格式。
  • ps -u <用户名>
    : 显示特定用户的进程。例如,
    ps -u john

例如,

ps aux | grep firefox
可以查找包含 "firefox" 关键字的进程。

2. 使用

top
命令:

top
命令提供了一个动态、实时的系统进程视图。它可以按 CPU 使用率、内存使用率等排序进程。

  • 运行
    top
    命令后,你可以使用不同的按键进行排序:
    • P
      : 按 CPU 使用率排序。
    • M
      : 按内存使用率排序。
    • N
      : 按 PID 排序。
  • top -u <用户名>
    : 监控特定用户的进程。

3. 使用

htop
命令:

htop
top
的一个增强版本,提供了更友好的界面和更多的功能,例如彩色显示、鼠标操作等。如果你的系统没有预装
htop
,可以使用包管理器安装,如
sudo apt install htop
(Debian/Ubuntu) 或
sudo yum install htop
(CentOS/RHEL)。

4. 使用

pgrep
命令:

pgrep
命令允许你根据进程名或其他属性查找进程 ID。

  • pgrep <进程名>
    : 例如,
    pgrep firefox
    会返回所有名为 "firefox" 的进程的 PID。
  • pgrep -u <用户名> <进程名>
    : 查找特定用户的进程 ID。

5. 使用

pidof
命令:

pidof
命令用于查找指定程序运行的进程 ID。

  • pidof <程序名>
    : 例如,
    pidof firefox
    。注意,
    pidof
    可能不如
    pgrep
    灵活,因为它只能根据程序名查找。

6. 使用

pstree
命令:

pstree
命令以树状图的形式显示进程之间的父子关系。

ASP.NET 4.0电子商城
ASP.NET 4.0电子商城

在现实生活中的购物过程,购物者需要先到商场,找到指定的产品柜台下,查看产品实体以及标价信息,如果产品合适,就将该产品放到购物车中,到收款处付款结算。电子商务网站通过虚拟网页的形式在计算机上摸拟了整个过程,首先电子商务设计人员将产品信息分类显示在网页上,用户查看网页上的产品信息,当用户看到了中意的产品后,可以将该产品添加到购物车,最后使用网上支付工具进行结算,而货物将由公司通过快递等方式发送给购物者

下载
  • pstree
    : 显示所有进程的树状图。
  • pstree -p
    : 显示进程 ID。
  • pstree <用户名>
    : 显示特定用户的进程树。

如何理解ps命令输出结果中的STAT列?

ps
命令输出的
STAT
列表示进程的状态。它由多个字符组成,每个字符代表进程的不同状态属性。

  • 第一个字符 表示进程的主要状态:
    • R
      (Running): 正在运行或准备运行。
    • S
      (Sleeping): 睡眠状态,等待事件发生。
    • D
      (Disk sleep): 不可中断的睡眠状态,通常在等待 I/O 操作完成。
    • T
      (Stopped): 停止状态,通常是被信号暂停。
    • Z
      (Zombie): 僵尸进程,进程已结束,但父进程尚未回收其资源。
    • <
      (High-priority): 高优先级进程。
    • N
      (Low-priority): 低优先级进程。
    • L
      (Locked memory): 进程的内存被锁定,不会被交换到磁盘。
  • 其他字符 表示进程的附加状态:
    • S
      (session leader): 会话领导者。
    • L
      (multi-threaded): 多线程进程。
    • +
      (foreground process group): 前台进程组。
    • W
      (paging): 进程正在进行内存交换。

例如,

Ss
表示该进程是睡眠状态,并且是会话领导者。
R+
表示该进程正在运行,并且是前台进程组。

如何使用top命令监控CPU使用率高的进程?

top
命令可以实时监控 CPU 使用率高的进程。运行
top
命令后,默认会按照 CPU 使用率排序。

  1. 运行
    top
    命令:
    在终端输入
    top
    并按回车键。
  2. 观察
    %CPU
    列:
    top
    命令会显示一个进程列表,其中
    %CPU
    列表示每个进程占用的 CPU 百分比。
  3. 查找 CPU 使用率高的进程: 列表顶部通常是 CPU 使用率最高的进程。
  4. 使用
    k
    命令杀死进程(谨慎操作):
    如果你想结束某个 CPU 使用率过高的进程,可以按下
    k
    键,然后输入要结束的进程的 PID(进程 ID),再按回车键。
    top
    命令会提示你输入要发送的信号,默认是
    SIGTERM
    (15),可以尝试使用该信号。如果进程没有正常结束,可以尝试使用
    SIGKILL
    (9) 信号,但请注意,
    SIGKILL
    会强制结束进程,可能导致数据丢失

top
命令中,你还可以使用以下按键:

  • P
    : 按 CPU 使用率排序(默认)。
  • M
    : 按内存使用率排序。
  • N
    : 按 PID 排序。
  • h
    : 显示帮助信息。
  • q
    : 退出
    top
    命令。

如何使用pgrep和kill命令杀死指定进程?

pgrep
命令用于查找进程 ID,
kill
命令用于向进程发送信号,通常用于结束进程。

  1. 使用

    pgrep
    查找进程 ID:

    pgrep <进程名>

    例如,要查找所有名为 "firefox" 的进程的 PID,可以运行

    pgrep firefox

  2. 使用

    kill
    命令结束进程:

    kill <进程ID>

    例如,如果

    pgrep firefox
    返回的 PID 是 1234,那么可以使用
    kill 1234
    来结束该进程。

    • kill -9 <进程ID>
      : 使用
      SIGKILL
      信号强制结束进程。请谨慎使用该信号,因为它会立即结束进程,可能导致数据丢失。

示例:

# 查找 firefox 进程的 PID
pids=$(pgrep firefox)

# 检查是否找到了进程
if [ -n "$pids" ]; then
  # 循环结束所有找到的进程
  for pid in $pids; do
    echo "正在结束进程 $pid"
    kill $pid
  done
else
  echo "没有找到 firefox 进程"
fi

这个脚本首先使用

pgrep
查找所有 "firefox" 进程的 PID,然后使用一个循环来结束所有找到的进程。如果
pgrep
没有找到任何进程,脚本会输出一条消息。

相关专题

更多
session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

302

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

706

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

88

2025.08.19

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

472

2023.08.10

Python 多线程与异步编程实战
Python 多线程与异步编程实战

本专题系统讲解 Python 多线程与异步编程的核心概念与实战技巧,包括 threading 模块基础、线程同步机制、GIL 原理、asyncio 异步任务管理、协程与事件循环、任务调度与异常处理。通过实战示例,帮助学习者掌握 如何构建高性能、多任务并发的 Python 应用。

107

2025.12.24

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1345

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

700

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

62

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.3万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号