Linux中ps命令使用指南

目录

  • 1 前言
  • 2 ps命令的含义和作用
  • 3 ps命令的基本使用
  • 4 常用选项参数
  • 5 一些常用情景
    • 5.1 查看系统中的所有进程(标准语法)
    • 5.2 使用 BSD 语法查看系统中的所有进程
    • 5.3 打印进程树
    • 5.4 获取线程信息
    • 5.5 获取安全信息
    • 5.6 查看以 root 用户身份(实际和有效 ID)运行的所有进程,以用户定义格式显示
    • 5.7 查看以用户自定义格式显示的所有进程
    • 5.8 只打印 syslogd 进程的进程 ID
  • 6 ps 与其他命令一起使用
  • 7 总结

1 前言

本文将详细介绍在Linux操作系统中广泛使用的ps命令。ps命令代表"process status",是用于查看当前系统运行进程信息的重要工具。通过讲解什么是ps命令及其作用,并深入说明如何使用不同选项参数和结合其他命令,本文旨在帮助读者全面了解并掌握ps命令,使其能够有效地监控和管理系统中正在运行的进程。

2 ps命令的含义和作用

当探索操作系统的进程管理时,ps 命令是 Linux 中最有用且常用的工具之一。作为 process status 的缩写,它提供了深入了解正在系统中运行的进程的能力。通过查看诸如进程 ID(PID)、CPU 使用情况、内存占用、运行时间等详细信息,ps 命令让用户能够全面了解系统中正在运行的活动。

3 ps命令的基本使用

ps 命令的基本语法如下:

ps [选项参数]

可以通过添加不同的选项来获取不同类型的进程信息。

直接输入 ps,显示当前进程:

ps

在这里插入图片描述

输出结果包含 4 列信息:PID、TTY、TIME、CMD

  • PID:(Process ID)唯一的进程 ID
  • TTY:(Teletypewriter)它指的是终端类型或终端设备,用于用户与计算机进行交互的输入输出设备,例如终端窗口或控制台。
  • TIME:进程运行过程中占用 CPU 的总时间(以分钟和秒为单位),简单理解就是 CPU 运行这个进程消耗的时间。
  • CMD:启动进程的命令的名称

有时候当我们执行 ps 命令时,TIME 显示为 00:00:00。这意味着该进程尚未使用 CPU ,所以没有 CPU 执行的总时间。

对于上面的 bash,就是这种情况,因为 bash 只是其他需要借助 bash 运行的进程的父进程,所以它本身并没有使用 CPU,也就没有 CPU 执行时间了。

4 常用选项参数

以下是一些常用的 ps 命令选项参数

  • -C cmdlist:按命令名称选择。选择可执行文件名称在 cmdlist 中的进程。
  • -G grplist:按实际组 ID(RGID)或名称选择。选择实际组名称或 ID 在 grplist 列表中的进程。
  • -g grplist:按会话或有效组名称选择。按会话选择是多个标准中指定的,但按有效组选择是其他几个操作系统使用的逻辑行为。当列表完全为数字时(因为会话是数字),此 ps 将按会话选择。仅当指定了一些组名称时,组 ID 数字才会生效。请参阅 -s--group 选项。
  • --Group grplist:按实际组 ID(RGID)或名称选择。等同于 -G
  • --group grplist:按有效组 ID(EGID)或名称选择。选择有效组名称或 ID 在 grplist 中的进程。有效组 ID 描述进程使用其文件访问权限的组(参见 getegid(2))。-g 选项通常是 --group 的替代方式。
  • p pidlist:按进程 ID 选择。与 -p--pid 相同。
  • -p pidlist:按 PID 选择。选择进程 ID 号出现在 pidlist 中的进程。与 p--pid 相同。
  • --pid pidlist:按进程 ID 选择。与 -pp 相同。
  • --ppid pidlist:按父进程 ID 选择。选择具有在 pidlist 中列出的父进程 ID 的进程。即选择作为这些进程的子进程的进程。
  • q pidlist:按进程 ID 选择(快速模式)。与 -q--quick-pid 相同。
  • -q pidlist:按 PID 选择(快速模式)。选择进程 ID 号出现在 pidlist 中的进程。使用此选项,ps 仅为 pidlist 中列出的 PID 读取必要的信息,并且不应用其他过滤规则。PID 的顺序未排序并保留不变。在此模式下,不允许使用其他选择选项、排序和树型列表。与 q--quick-pid 相同。
  • --quick-pid pidlist:按进程 ID 选择(快速模式)。与 -qq 相同。
  • -s sesslist:按会话 ID 选择。选择会话 ID 在 sesslist 中指定的进程。
  • --sid sesslist:按会话 ID 选择。等同于 -s
  • t ttylist:按 tty 选择。几乎与 -t--tty 相同,但还可以与空的 ttylist 一起使用,以表示与 ps 关联的终端。使用 T 选项被认为比使用带有空 ttylist 的 t 更清晰。
  • -t ttylist:按 tty 选择。选择与 ttylist 中给定的终端相关的进程。终端(ttys,或用于文本输出的屏幕)可以用几种形式指定:/dev/ttyS1ttyS1S1。可以使用普通的 “-” 来选择未连接到任何终端的进程。
  • --tty ttylist:按终端选择。等同于 -tt
  • U userlist:按有效用户 ID(EUID)或名称选择。选择有效用户名称或 ID 在 userlist 中的进程。有效用户 ID 描述进程使用其文件访问权限的用户(参见 geteuid(2))。与 -u--user 相同。
  • -U userlist:按实际用户 ID(RUID)或名称选择。选择实际用户名称或 ID 在 userlist 列表中的进程。实际用户 ID 标识创建进程的用户,参见 getuid(2)
  • -u userlist:按有效用户 ID(EUID)或名称选择。选择有效用户名称或 ID 在 userlist 中的进程。有效用户 ID 描述进程使用其文件访问权限的用户(参见 geteuid(2))。与 U--user 相同。
  • --User userlist:按实际用户 ID(RUID)或名称选择。等同于 -U
  • --user userlist:按有效用户 ID(EUID)或名称选择。等同于 -uU

5 一些常用情景

以下是几个示例,展示了不同的 ps 命令用法及其功能:

5.1 查看系统中的所有进程(标准语法)

ps -e
ps -ef
ps -eF
ps -ely

这些命令会显示系统中的所有进程,提供不同的显示格式和详细程度。

5.2 使用 BSD 语法查看系统中的所有进程

ps ax
ps axu

这些命令采用 BSD 风格的语法来显示系统中的所有进程,提供了另一种查看方式。

5.3 打印进程树

ps -ejH
ps axjf

这些命令将打印出进程树,展示进程之间的层级关系。

5.4 获取线程信息

ps -eLf
ps axms

这些命令提供有关线程的信息,展示系统中各个线程的相关数据。

5.5 获取安全信息

ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM

这些命令提供了安全相关的信息,如进程的用户、标签、安全上下文等。

这些示例展示了 ps 命令不同选项的用法,允许用户根据需求以不同的方式查看并了解系统中运行的进程及相关信息。

5.6 查看以 root 用户身份(实际和有效 ID)运行的所有进程,以用户定义格式显示

ps -U root -u root u

这个命令将显示所有以 root 用户身份(实际和有效 ID)运行的进程,并使用用户定义的格式输出相关信息。

5.7 查看以用户自定义格式显示的所有进程

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan

这些命令展示了以用户定义格式显示进程信息的方式。通过指定要显示的字段,用户可以根据自己的需求定制输出格式。

5.8 只打印 syslogd 进程的进程 ID

ps -C syslogd -o pid=

此命令将仅显示 syslogd 进程的进程 ID,过滤出与 syslogd 进程相关的信息。

这些示例展示了在使用 ps 命令时,如何根据不同需求指定特定的选项和格式,以获取所需的进程信息。

6 ps 与其他命令一起使用

ps 命令可以与其他命令通过管道符 | 结合使用,这样可以对 ps 命令的输出结果进行进一步的筛选和处理。例如,结合使用 psgrep 命令,可以通过以下方式过滤出属于 root 用户的进程:

ps -ef | grep root

这个命令的含义是,首先执行 ps -ef 获取系统中所有进程的详细信息,然后将这些信息通过管道 | 传递给 grep 命令。grep root 表示使用 grep 命令匹配包含关键词 root 的行(即属于 root 用户的进程信息),并将这些匹配到的行显示在终端上。

7 总结

了解 ps 命令的使用方式可以帮助系统管理员和用户监视系统资源的使用情况,诊断问题以及优化系统性能。它是管理和了解 Linux 系统中进程状态的重要工具之一。

通过深入了解 ps 命令的基本语法和常用选项,以及它与其他命令结合使用的方法,用户可以更好地掌握如何利用这个强大的工具来管理系统进程,并更全面地了解系统的运行状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/220492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue2+Echarts数据可视化 【帕累托图】

接口得到的数据如下 要经过排序 ,计算累计百分比得到数据 蓝色 柱状图数据: 取count字段值 横坐标:取 id值 折线图:根据柱状图的数据计算累计百分比 getInterface(data) {getParetoChart(data).then((res) > {if (res) {thi…

使用YOLOv8训练图集详细教程

准备自己的数据集 训练YOLOv8时,选择的数据格式是VOC,因此下面将介绍如何将自己的数据集转换成可以直接让YOLOv8进行使用。 1、创建数据集 我的数据集都在保存在mydata文件夹(名字可以自定义),目录结构如下&#xf…

03.HTML常用标签

HTML常用标签 0.思维导图大纲 1.基本标签 详细介绍 注意 不要用 br 来增加文本之间的行间隔,应使用 p 元素,或后面即将学到的 CSS margin 属性hr 的语义是分隔,如果不想要语义,只是想画一条水平线,那么应当使用 CSS…

node-static 任意文件读取漏洞复现(CVE-2023-26111)

0x01 产品简介 node-static 是 Node.js 兼容 RFC 2616的 HTTP 静态文件服务器处理模块,提供内置的缓存支持。 0x02 漏洞概述 node-static 存在任意文件读取漏洞,攻击者可通过该漏洞读取系统重要文件(如数据库配置文件、系统配置文件&#…

扩展学习|商务智能与社会计算

一、概念介绍 (一)商务智能 商务智能(Business Intelligence,简称BI)是一种基于数据分析的决策支持系统,旨在帮助企业或组织更好地理解和利用自身数据,发现其中的模式和趋势,并提供…

Spring配置动态数据库

首先创建一个SpringWeb项目——dynamicdb&#xff08;spring-boot2.5.7&#xff09; 然后引入相关依赖lombok、swagger2、mybatis-plus&#xff0c;如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven…

Python数据科学视频讲解:Python的数据运算符

2.9 Python的数据运算符 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解2.9节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。内容涵盖数据科学应用的全流程&#xff0c;包括数据科…

stateflow 之图函数、simulink函数和matlab函数使用及案例分析

目录 前言 1. 图函数graph function 2.simulink function 3.matlab function 4.调用stateflow中的几种函数方式 前言 对于stateflow实际上可以做simulink和matlab的所有任务&#xff0c;可以有matlab的m语言&#xff0c;也可以有simulink的模块&#xff0c;关于几种函数在…

头歌-Python 基础

第1关&#xff1a;建模与仿真 1、 建模过程&#xff0c;通常也称为数学优化建模(Mathematical Optimization Modeling)&#xff0c;不同之处在于它可以确定特定场景的特定的、最优化或最佳的结果。这被称为诊断一个结果&#xff0c;因此命名为▁▁▁。 填空1答案&#xff1a;决…

机器学习:从概念到应用

机器学习&#xff1a;从概念到应用 一、引言 随着科技的飞速发展&#xff0c;人工智能已经渗透到我们生活的方方面面。作为人工智能领域的一个重要分支&#xff0c;机器学习正在改变我们的世界。它通过让计算机从数据中学习&#xff0c;实现自我优化和改进&#xff0c;为各行…

【Git从入门到精通 | 02】.gitignore忽略文件不生效怎么办?

这是机器未来的第64篇文章 原文首发地址&#xff1a;https://robotsfutures.blog.csdn.net/article/details/134989872 《Git源码版本管理系列》快速导航&#xff1a; 【Git从入门到精通 | 01】企业Git使用github工作流最佳实践 文章目录 1. 问题场景2. 原因解析3. 处理办法 写…

CTF-Java做题记录合集

文章目录 前言[CISCN 2023]deserbug[MTCTF2022]easyjava[羊城杯 2020]a_piece_of_java[红明谷CTF 2021]JavaWeb 前言 年底都比较忙&#xff0c;很久没有静下心来打过CTF了&#xff0c;最近Java的各种链子也是接触了不少&#xff0c;于是静下心来打算做点Java类的题目&#xff…

linux 网络子系统 摘要

当你输入一个网址并按下回车键的时候&#xff0c;首先&#xff0c;应用层协议对该请求包做了格式定义;紧接着传输层协议加上了双方的端口号&#xff0c;确认了双方通信的应用程序;然后网络协议加上了双方的IP地址&#xff0c;确认了双方的网络位置;最后链路层协议加上了双方的M…

【docker】镜像使用(Nginx 示例)

查看本地镜像列表 docker images删除本地镜像 # docker rmi [容器 ID]docker rmi a6bd71f48f68 查找镜像 docker search nginx 参数介绍 NAME: 镜像仓库源的名称DESCRIPTION: 镜像的描述OFFICIAL: 是否 docker 官方发布STARS: 点赞、喜欢AUTOMATED: 自动构建。 拉去镜像 …

SQL小技巧3:分层汇总

前几天&#xff0c;QQ学习群有个小伙伴问我一个使用SQL分层汇总的问题。 今天正好分享下。 需求描述 在数据报表开发的工作中&#xff0c;经常会遇到需要对数据进行分组汇总的情况。 假设有一个销售数据表sales&#xff0c;包含列region&#xff08;地区&#xff09;、mont…

LInux查看cpu、磁盘、内存、网络的命令

LInux查看cpu、磁盘、内存、网络的命令 1.查看cpu系列2.查看内存方面3.查看磁盘相关 1.查看cpu系列 想知道了cpu性能好不好、忙不忙可以用lscpu、uptime、top、htop。 1.1 top 命令查看系统的实时负载&#xff0c; 包括进程、CPU负载、内存使用等等 top内容详解 项目意义us用…

出海电商访问亚马逊打开很慢!有什么办法可以快速解决?

亚马逊作为全球最大的电商平台&#xff0c;很多中国卖家在平台上做着买卖。亚马逊中国卖每天都要频繁访问亚马逊店铺处理回复邮件和处理订单&#xff0c;上传产品等等事宜&#xff0c;但是时常会遇到打开一个新页面需要等待很长时间&#xff0c;更甚者直接打不开页面! 亚马逊打…

纸质表格扫描转Excel的利器,让您省钱省劲

将纸质表格扫描到电脑Excel上是一种快捷而高效的数字化处理方法&#xff0c;使得数据可以方便地进行编辑、分析和共享。本文将介绍几种常用的方法来完成这项任务。 第一种方法是使用扫描仪。现代扫描仪具备较高的分辨率和颜色还原能力&#xff0c;可以将纸质表格转化为高质量的…

Mybatis插件对指定字段加解密

Mybatis插件对指定字段加解密 1、需求环境&#xff1a;2、需求拆分3、代码实现 (懒得去除敏感信息了&#xff0c;先说明以下全是截图无代码)对存量数据对增量数据 1、需求环境&#xff1a; 在整个项目都结束之后&#xff0c;甲方希望库表内所有涉及到电话号码、详细地址、身份…

thinkphp连接数据库mysql 报错问题

第一 看报错日志php如果是下面这个报错的话 就是mysql 数据库没有验证连接 ​​​​​​​[2023-12-13T09:57:0108:00][error] [10501]SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client 我们就可以去mysql 的文件检查 验证身份 使…