码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux系统中的ps命令详解及用法介绍


    文章目录

    • 一、介绍ps命令
      • A. ps命令的作用
      • B. ps命令的参数
    • 二、常见的ps命令用法
      • A. 显示所有进程信息
      • B. 显示指定进程信息
      • C. 显示指定用户的进程信息
      • D. 按CPU使用率排序显示进程信息
      • E. 按内存使用率排序显示进程信息
    • 三、进一步了解ps命令
      • A. 显示进程树信息
      • B. 显示线程和进程关系
      • C. 显示进程相关的文件信息
      • D. ps命令与grep命令的结合使用
      • E. ps命令与awk命令的结合使用
    • 四、扩展ps命令功能
      • A. bsd格式输出
      • B. 色彩化输出
      • C. 显示更多列信息
      • D. 自定义输出格式
    • 五、其他相关命令
      • A. top命令
      • B. htop命令
      • C. pidof命令
      • D. kill命令
    • 六、总结与注意事项
      • A. ps命令的优缺点
      • B. 更好地使用ps命令的建议
      • C. 注意事项
    • python精品专栏推荐
      • python基础知识(0基础入门)
      • python爬虫知识

    一、介绍ps命令

    ps命令是Linux系统中的一个非常实用的命令,它用于查看系统中当前运行的进程信息。下面我们来了解一下ps命令的作用和参数。

    A. ps命令的作用

    ps命令可以列出系统中当前正在运行的进程的详细信息,包括进程ID、父进程ID、占用的CPU和内存等。通过ps命令,我们可以了解到系统中运行的进程情况,对于系统监控和故障排查非常有帮助。

    B. ps命令的参数

    ps命令支持多种参数来进行不同的查询和显示方式,常用的参数包括:

    • -A:显示所有进程信息。
    • -p:显示指定进程ID的信息。
    • -u:显示指定用户的进程信息。
    • -o:自定义输出格式。

    接下来,我们将介绍常见的ps命令用法。

    二、常见的ps命令用法

    以下是常见的ps命令用法,让我们逐个来了解。

    A. 显示所有进程信息

    要显示系统中所有进程的信息,可以使用ps -A命令。示例代码如下:

    ps -A
    
    • 1

    这样就会输出系统中所有进程的详细信息。

    B. 显示指定进程信息

    如果我们只想查看某个特定进程的信息,可以使用ps -p命令加上进程ID来指定。示例代码如下:

    ps -p 1234
    
    • 1

    将上面的1234替换为你想要查看的进程ID,就可以显示该进程的详细信息。

    C. 显示指定用户的进程信息

    有时候我们需要查看某个特定用户的进程信息,可以使用ps -u命令加上用户名来指定。示例代码如下:

    ps -u username
    
    • 1

    将上面的username替换为你想要查看的用户名,就可以显示该用户的所有进程信息。

    D. 按CPU使用率排序显示进程信息

    如果我们想要根据CPU使用率来排序显示进程信息,可以使用ps命令的--sort参数。示例代码如下:

    ps --sort=-%cpu
    
    • 1

    这样就会按照CPU使用率递减的顺序显示进程信息。

    E. 按内存使用率排序显示进程信息

    类似地,如果我们想要根据内存使用率来排序显示进程信息,可以使用ps命令的--sort参数。示例代码如下:

    ps --sort=-%mem
    
    • 1

    这样就会按照内存使用率递减的顺序显示进程信息。

    接下来,我们将进一步了解ps命令。

    三、进一步了解ps命令

    除了上述常见用法外,ps命令还有一些其他的功能,让我们逐个来了解。

    A. 显示进程树信息

    如果我们想要以进程树的形式显示进程信息,可以使用ps -e --forest命令。示例代码如下:

    ps -e --forest
    
    • 1

    这样就会以树状结构显示进程信息,更加清晰和直观。

    B. 显示线程和进程关系

    有时候我们需要查看进程与线程之间的关系,可以使用ps -eLf命令。示例代码如下:

    ps -eLf
    
    • 1

    这样就会显示每个线程对应的进程信息,方便我们进行线程级别的分析。

    C. 显示进程相关的文件信息

    要显示进程打开的文件信息,可以使用ps -e --files命令。示例代码如下:

    ps -e --files
    
    • 1

    这样就会显示每个进程打开的文件路径,帮助我们对系统资源的使用情况进行监控。

    D. ps命令与grep命令的结合使用

    如果我们只想查询符合某个条件的进程信息,可以将ps命令与grep命令结合使用。示例代码如下:

    ps -A | grep "process_name"
    
    • 1

    将上面的process_name替换为你要查询的进程名,就可以过滤出符合条件的进程信息。

    E. ps命令与awk命令的结合使用

    类似地,我们还可以将ps命令与awk命令结合使用,对显示的进程信息进行进一步处理。示例代码如下:

    ps -A | awk '{print $1, $4}'
    
    • 1

    这样就会输出每个进程的进程ID和占用的CPU百分比。

    现在,让我们来扩展ps命令的功能。

    四、扩展ps命令功能

    ps命令本身已经非常强大,但我们还可以通过一些额外的设置来扩展其功能。让我们逐个来了解。

    A. bsd格式输出

    如果我们希望以BSD格式(更易读)来输出进程信息,可以使用ps aux命令。示例代码如下:

    ps aux
    
    • 1

    这样就会以BSD格式输出进程的详细信息。

    B. 色彩化输出

    如果我们希望以彩色的方式来输出进程信息,可以安装gnome-terminal并使用--color参数。示例代码如下:

    ps -A --color
    
    • 1

    这样就会以彩色的方式输出进程信息,让我们的终端更加鲜艳多彩。

    C. 显示更多列信息

    ps命令默认只显示一部分列信息,如果我们想要显示更多的列信息,可以使用ps -e -o命令加上要显示的列名。示例代码如下:

    ps -e -o pid,ppid,%cpu,%mem,cmd
    
    • 1

    这样就会显示进程ID、父进程ID、CPU使用率、内存使用率和命令等列信息。

    D. 自定义输出格式

    如果我们想要自定义输出的格式,可以使用ps -e -o format命令加上自定义的格式。示例代码如下:

    ps -e -o pid:PID,ppid:PPID,%cpu:CPU,%mem:MEM,cmd:COMMAND
    
    • 1

    这样就会按照我们指定的格式输出进程信息,可以根据需要来调整输出的内容和顺序。

    现在,让我们了解一些其他相关命令。

    五、其他相关命令

    除了ps命令外,还有一些其他命令也可以用于进程管理和监控,让我们逐个来了解。

    A. top命令

    top命令是一个实时的系统资源监视器,可以动态显示系统中各个进程的资源占用情况。示例代码如下:

    top
    
    • 1

    这样就会实时显示系统资源的使用情况和进程的运行状态。

    B. htop命令

    htop命令是一个交互式的系统资源监视器,功能类似于top命令,但提供了更加友好和直观的界面。示例代码如下:

    htop
    
    • 1

    这样就会以交互式界面显示系统资源的使用情况和进程的运行状态。

    C. pidof命令

    pidof命令用于根据进程名查询对应的进程ID。示例代码如下:

    pidof process_name
    
    • 1

    将上面的process_name替换为你要查询的进程名,就可以输出对应的进程ID。

    D. kill命令

    kill命令用于终止指定进程。示例代码如下:

    kill pid
    
    • 1

    将上面的pid替换为你要终止的进程ID,就可以结束该进程的运行。

    现在,让我们来总结一下ps命令,并提醒一些注意事项。

    六、总结与注意事项

    A. ps命令的优缺点

    ps命令作为一个系统监控和故障排查工具,具有以下优点:

    • 可以显示系统中所有进程的详细信息。
    • 支持多种参数和选项,灵活可定制。
    • 可以与其他命令结合使用,扩展功能。

    但也有一些缺点:

    • 信息显示可能较为繁杂,需要结合其他命令进行过滤和分析。
    • 部分功能需要依赖特定的设置或环境。

    B. 更好地使用ps命令的建议

    • 在使用ps命令时,根据实际需求选择合适的参数和选项。
    • 结合其他命令进行过滤和分析,以获取所需的信息。
    • 可以将常用的命令和参数设置为别名,方便快速使用。

    C. 注意事项

    • ps命令可能需要root权限才能查看所有进程的信息。
    • 结合其他命令使用时,注意参数和选项的顺序和语法。

    python精品专栏推荐


    python基础知识(0基础入门)

    【python基础知识】0.print()函数
    【python基础知识】1.数据类型、数据应用、数据转换
    【python基础知识】2.if条件判断与条件嵌套
    【python基础知识】3.input()函数
    【python基础知识】4.列表和字典
    【python基础知识】5.for循环和while循环
    【python基础知识】6.布尔值和四种语句(break、continue、pass、else)
    【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
    【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
    【python基础知识】8.编程思维:如何解决问题-思维篇
    【python基础知识】9.函数的定义和调用
    【python基础知识】10.用函数编写程序 - 实操篇
    【python基础知识】10.用Python实现石头剪刀布小游戏-函数实操篇
    【python基础知识】11.如何debug -常见报错原因及排查思路 - 思维篇
    【python基础知识】12.类与对象(一)
    【python基础知识】12.类与对象(二)
    【python基础知识】13.类与对象(三)
    【python基础知识】13.类与对象(四)
    【python基础知识】14.图书管理系统的搭建(类与对象实操)
    【python基础知识】15.编码基础知识
    【python基础知识】16.文件读写基础及操作
    【python基础知识】16.“古诗默写题”的python实现(文件读写和编码-实操篇)
    【python基础知识】17.模块的概念以及如何引入
    【python基础知识】18.实操-使用python自动群发邮件
    【python基础知识】19.产品思维以及流程图的使用 - 思维篇
    【python基础知识】20.“午饭吃什么”的python实现(产品思维-实操篇)
    【python基础知识】21.高效偷懒的正确打开方式-毕业篇
    【python文件处理】CSV文件的读取、处理、写入
    【python文件处理】Excel自动处理(使用 openpyxl)
    【python文件处理】-excel格式处理


    python爬虫知识

    【python爬虫】1.爬虫基础知识
    【python爬虫】2.网页基础知识
    【python爬虫】3.爬虫初体验(BeautifulSoup解析)
    【python爬虫】4.爬虫实操(菜品爬取)
    【python爬虫】5.爬虫实操(歌词爬取)
    【python爬虫】6.爬虫实操(带参数请求数据)
    【python爬虫】7.爬到的数据存到哪里?
    【python爬虫】8.温故而知新
    【python爬虫】9.带着小饼干登录(cookies)
    【python爬虫】10.指挥浏览器自动工作(selenium)
    【python爬虫】11.让爬虫按时向你汇报
    【python爬虫】12.建立你的爬虫大军
    【python爬虫】13.吃什么不会胖(爬虫实操练习)
    【python爬虫】14.Scrapy框架讲解
    【python爬虫】15.Scrapy框架实战(热门职位爬取)
    【python爬虫】16.爬虫知识点总结复习

  • 相关阅读:
    计算机网络——物理层
    YC-Framework版本更新:V1.0.10
    父组件明明使用了v-model,子组件竟然可以不用定义props和emit抛出事件,快来看看吧
    python图片压缩/格式转换
    推荐系统笔记(十六):推荐系统图协同过滤的深入理解/
    带你聊聊邮件系统的前世今生......
    Cmake
    docker搭建nacos2.x集群
    Linux中shell命令取别名
    MySQL基本操作之创建数据库
  • 原文地址:https://blog.csdn.net/qq_41308872/article/details/133687445
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号