当前位置: 首页 > news >正文

Linux ps命令详解

        Linux系统中的ps命令是一个用于查看进程状态的工具,它提供了丰富的选项和参数,允许用户以不同的方式显示进程信息。

基本用法
  • 无参数使用:在终端中输入ps命令,默认情况下会显示当前终端会话中属于当前用户的进程列表。

 

  • 结合参数使用:结合不同的选项,可以显示系统上所有的进程信息。 
常用选项
  • -e:显示系统上所有的进程,而不仅仅是当前用户的进程。

 

  • -f:以全格式显示进程信息,包括进程的UID、PID、PPID、C、STIME、TTY、TIME、CMD等信息。 

        TTY pts/N(其中N是一个数字),这表示该进程是通过系统中的第N个伪终端的从设备启动的。伪终端是一种软件实现的终端,它允许一个程序(如终端模拟器-XShell、SSH服务器等)表现得像是一个真实的终端。每个伪终端都由一个主设备(master)和一个从设备(slave)组成. 

  • -l:以长格式显示进程信息 。

以下是额外的字段信息: 

F字段:

        4:这通常表示该进程以超级用户(root)权限运行。在Linux系统中,root用户拥有对系统的完全访问权限,因此具有该标志的进程可能具有更高的权限级别。

        其他值:除了4和1之外,F字段还可能包含其他值,这些值的具体含义通常需要通过查阅特定系统的文档或手册页来确定。由于系统之间的差异,相同的F字段值在不同系统上可能具有不同的含义

  • -u:显示与指定用户相关的进程信息显示该用户启动的全部进程信息。可以通过指定用户名来限制显示的进程列表。 

 

  • -p:显示指定进程ID(PID)的进程信息。可以通过指定PID来查看特定进程的详细信息 

 

  • -o:自定义输出格式。使用该选项可以指定要显示的列和排序方式。 

例如,ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem会显示进程ID、父进程ID、命令行、内存使用率和CPU使用率,并按内存使用率降序排序。 

疑难

1. 理想情况下显示4行数据,但打印行数为5. 

分析:

        管道(|)两侧的命令都会作为进程存在于进程列表中。在Unix和类Unix系统中,当你执行一个包含管道的命令序列时,shell会分别为管道两侧的每个命令创建一个或多个进程。这些进程会并行(或更准确地说是并发)执行,直到整个命令序列完成。

原因:在执行ps | awk END {print NR}时,awk也是独立的进程。

 

2. root用户登录执行ps 和 ps -u root显示不一致

 

原因和强调:

1)ps命令默认显示当前终端(或会话)中由当前用户启动的进程。

2)ps -u root命令专门用于显示root用户启动的所有进程。这个命令会过滤出所有以root用户身份运行的进程,无论这些进程是在哪个终端或会话中启动的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【NI国产替代】NI‑9235四分之一桥应变计,8通道C系列应变/桥输入模块
  • 基于LSTM的交通流量预测算法及Python实现
  • ECMAScript性能优化技巧与陷阱(上)
  • 上门搬家小程序源码开发:打造便捷高效的搬家新体验
  • Triplet Loss解析及示例计算
  • 私域流量与公域流量的主要区别
  • 【游戏】什么是摄影游戏(Photography Games)
  • python-docx 实现 Word 办公自动化
  • 基于网络小说的多维度数据分析与可视化系统
  • 七牛云测试空间过期了,怎么进行迁移?
  • 【Spring Boot】定时任务
  • DID测试套件
  • flume系列之:flume生产环境sink重要参数理解
  • 微积分-定积分4.4(不定积分和净变化定理)
  • Spring 04: 注解开发
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • JS笔记四:作用域、变量(函数)提升
  • Material Design
  • MySQL数据库运维之数据恢复
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vue.js源码(2):初探List Rendering
  • 从0到1:PostCSS 插件开发最佳实践
  • 给第三方使用接口的 URL 签名实现
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于web的全景—— Pannellum小试
  • 讲清楚之javascript作用域
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 思维导图—你不知道的JavaScript中卷
  • 我是如何设计 Upload 上传组件的
  • 应用生命周期终极 DevOps 工具包
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (6)STL算法之转换
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (转)Mysql的优化设置
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .NET应用UI框架DevExpress XAF v24.1 - 可用性进一步增强
  • .Net语言中的StringBuilder:入门到精通
  • [ C++ ] 类和对象( 下 )
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [Android]How to use FFmpeg to decode Android f...
  • [Android]创建TabBar
  • [Angular] 笔记 7:模块
  • [ANT] 项目中应用ANT
  • [C++] Windows中字符串函数的种类
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [CentOs7]搭建ftp服务器(2)——添加用户
  • [CISCN2019 华东南赛区]Web11
  • [CSS] 点击事件触发的动画