0

0

从PID获取Linux进程详细信息:使用ps命令的专业指南

碧海醫心

碧海醫心

发布时间:2025-08-27 14:30:27

|

712人浏览过

|

来源于php中文网

原创

从PID获取Linux进程详细信息:使用ps命令的专业指南

本教程详细介绍了如何在Linux系统中使用ps命令,通过进程ID(PID)获取运行中进程的各项详细信息。文章涵盖了ps命令的基本用法、自定义输出字段(如内存、用户、命令及参数)的方法,并提供了实用示例和专业提示,帮助用户高效监控和管理系统进程。

linux系统管理和故障排查中,根据进程id(pid)获取特定进程的详细信息是一项基本而重要的技能。虽然存在多种方法和工具,但ps(process status)命令因其强大和灵活性,成为从命令行获取进程详情的首选工具。本文将深入探讨如何利用ps命令,从基础用法到高级自定义,全面掌握通过pid查询进程信息的技巧。

ps命令基础:通过PID获取默认进程信息

ps命令是Linux系统上用于报告当前进程状态的工具。当我们需要查询特定PID的进程信息时,可以使用-p选项指定目标PID。

基本语法:

ps -p $PID

其中,$PID是你想要查询的进程ID。

默认输出字段: 在不指定其他选项的情况下,ps -p $PID会返回该进程的一些基本信息:

  • PID (Process ID):进程本身的唯一标识符。
  • TTY (Controlling Terminal):控制该进程的终端名称(如果有)。
  • TIME (CPU Time):该进程自执行以来所使用的累计CPU时间,格式通常为HH:MM:SS。
  • CMD (Command):启动该进程的命令名称。

示例: 假设我们有一个PID为12345的进程,执行以下命令:

ps -p 12345

输出可能类似:

  PID TTY          TIME CMD
12345 pts/0    00:00:02 java

这表明PID为12345的进程是在pts/0终端下运行的java命令,并且已经使用了2秒的CPU时间。

自定义输出:精确获取所需进程详情

默认输出虽然提供了基本信息,但在很多场景下,我们需要更详细或特定的进程属性,例如内存使用、所属用户、完整命令行参数等。ps命令的-o选项允许用户高度自定义输出字段。

DreamStudio
DreamStudio

SD兄弟产品!AI 图像生成器

下载

使用-o选项:-o选项后接一个或多个格式规范(format specifiers),每个规范代表一个进程属性。你可以通过逗号分隔多个规范,或者多次使用-o选项。为了提高可读性,还可以为输出的列指定自定义标题,格式为specifier=HEADER。

常用自定义字段示例: 以下是一个功能强大的示例,可以获取进程的PID、虚拟内存大小、所属用户、所属组、命令名称以及完整的命令行参数:

ps -p $PID -o pid,vsz=MEMORY -o user,group=GROUP -o comm,args=ARGS

让我们分解这个命令及其输出的含义:

  • pid: 进程ID。
  • vsz=MEMORY: 进程的虚拟内存大小(Virtual Memory Size),以KB为单位,输出列标题为MEMORY。
  • user=USER: 拥有该进程的用户名称,输出列标题为USER。
  • group=GROUP: 拥有该进程的组名称,输出列标题为GROUP。
  • comm=COMMAND_NAME: 进程的命令名称,通常是可执行文件的文件名,输出列标题为COMMAND_NAME。
  • args=FULL_COMMAND: 启动进程的完整命令行及其所有参数,输出列标题为FULL_COMMAND。

示例: 继续使用PID 12345,并假设它是一个带有参数的Java应用:

ps -p 12345 -o pid,vsz=MEMORY -o user,group=GROUP -o comm,args=ARGS

输出可能类似:

  PID MEMORY USER     GROUP    COMMAND_NAME FULL_COMMAND
12345 843200 user1    group1   java         java -jar myapp.jar --port 8080

从这个输出中,我们可以清晰地看到进程的内存占用、所属用户和组,以及其完整的启动命令和所有参数,这对于理解进程行为和调试问题至关重要。

实用技巧与注意事项

  1. args字段的最佳实践: args字段通常是输出中最长的部分,因为它包含了完整的命令及其参数。为了避免在终端中被截断或影响其他列的对齐,建议将args字段放在-o选项列表的最后。
  2. 更多格式规范: ps命令支持大量的格式规范,可以查询包括CPU使用率、内存百分比、启动时间、进程状态等在内的各种信息。你可以查阅ps命令的man手册(man ps)或相关在线文档,获取完整的格式规范列表及其详细说明。
  3. 平台依赖性: 本文介绍的ps命令用法主要针对Linux系统。虽然其他类Unix系统(如macOS、BSD)也提供ps命令,但其选项和默认行为可能存在细微差异。
  4. 权限问题: 查询某些进程(特别是属于其他用户或系统关键进程)的详细信息可能需要更高的权限,例如使用sudo。

总结

通过ps命令结合-p和-o选项,我们可以灵活且精确地从Linux系统中获取特定PID的进程详细信息。从简单的默认输出到高度自定义的字段选择,ps命令提供了一套强大的工具集,帮助系统管理员和开发者高效地监控、分析和管理系统上运行的进程。熟练掌握这些技巧,将显著提升你在Linux环境下的工作效率。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

888

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

464

2024.06.27

mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

213

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

325

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

293

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

179

2025.08.07

macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

359

2025.05.09

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

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

1564

2023.06.21

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

热门下载

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

精品课程

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

共48课时 | 10.7万人学习

Git 教程
Git 教程

共21课时 | 4.2万人学习

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

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