linux查看特定进程的简要说明

本文介绍了Linux系统中常用的进程管理工具ps、top和htop,包括它们的功能、使用方式、参数以及各自的优点。特别关注了ps的详细参数和top的实时监控特性,还提到了htop的直观操作方式。
摘要由CSDN通过智能技术生成


在程序开发测试阶段或者运维阶段,一般需要知道进程的内存、CPU占用等情况。在带有桌面的发行版linux系统中,有多种任务管理器可以用来查看进程运行情况。在一般的服务器或者嵌入式linux系统中,一般没有界面。常用ps、top类的指令来查看进程运行情况。

1.ps命令

1.1 ps简介

先使用指令,

man ps

查看ps使用手册。可以看到这段话

ps displays information about a selection of the active processes

表明ps指令可选择的展示活跃进程的信息,它只能显示某个特定时间点的信息

1.2 ps的使用方式

如下

ps [options]

但是ps的参数非常的多,经常使用的参数如下

-e 显示所有进程;
-f 显示完整格式的输出;
-l 长格式输出;
-u userlist 显示属于 userlist 列表中某个用户 ID 所有的进程;
–forest 用层级结构显示出进程和父进程之间的关系;

使用示例

  1. ubuntu@test:~/workspace$ ps -ef

在这里插入图片描述

信息列说明

UID 启动该进程的用户;
PID 进程 ID;
PPID 父进程的 PID(如果该进程是由另一个进程启动的);
C 进程生命期中的 CPU 利用率;
STIME 进程启动时的系统时间;
TTY 进程是从哪个终端设备启动的;
TIME 运行进程的累计 CPU 时间;
CMD 启动的程序名称;

ubuntu@test:~/workspace$ ps -el

在这里插入图片描述
与ps -ef相比多出的信息列说明

F:内核分配给进程的系统标志;
S:进程的状态(O 代表正在运行;S 代表在休眠;R 代表可运行,正等待运行;Z 代表
僵化,已终止但找不到其父进程;T 代表停止);
PRI:进程的优先级(数字越大,优先级越低);
NI:谦让度(nice),用于决定优先级;
ADDR:进程的内存地址;
SZ:进程被换出时所需交换空间的大致大小;
WCHAN:进程休眠的内核函数地址;

  1. ubuntu@test:~/workspace$ ps -ef --forest

在这里插入图片描述
–forest 选项着实讨人喜欢。该选项能够使用 ASCII 字符来绘制可爱的图表以显示进程的层级
信息。这种格式可以轻而易举地跟踪子进程和父进程。

  1. ps -ef | grep 进程关键字 例如 ps -ef | grep carria

在这里插入图片描述

ps其他常用的形式

  1. ps -u username 显示username进程

2.top指令

ps 命令虽然在收集系统中运行进程的信息时非常有用,但也存在不足之处:只能显示某个
特定时间点的信息。如果想观察那些被频繁换入和换出内存的进程,ps 命令就不太方便了。这正是 top 命令的用武之地。与 ps 命令相似,top 命令也可以显示进程信息,但采用的是实时方式。
top指令运行如下图所示
在这里插入图片描述
需要注意下面的信息列

  • VIRT 进程虚拟内存
  • RES 进程占用物理内存
  • SHR 进程与其他进程共享的内存

关于进程所占用的这三种内存之间的关系,可参考链接: 详解进程的虚拟内存,物理内存,共享内存
我们一般最关心进程占用的真实物理内存

真实物理内存 = RES - SHR

如果,需要查看一个具体进程的信息,可以有两种方法

  1. top过滤

先按o键
输入COMMAN=命令(例如:COMMAND=sshd)

  1. 使用组合命令

top -c -p $(pgrep -d’,’ -f 命令名) (例如:top -c -p $(pgrep -d’,’ -f sshd))

3. htop

如果条件允许,linux所在设备连接网络并且没有做过多的裁剪,可以下载htop来查看进程的运行情况。
htop的运行情况如下:
在这里插入图片描述
它对进程的管理就更直观了,比较常用的操作

  • 按u键,可选择具体用户对应的进程
  • F3 ,选择进程,可直接使用进程名

ps和top指令的详细说明,推荐参考《Linux命令行与脚本编程大全 第四版》。本文多是参考其中。

  • 16
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux进程管理和进程通信是操作系统中非常重要的概念。我可以为您提供一些关于这两个主题的基本信息。 1. 进程管理: 在Linux中,进程是指在执行中的程序实例。进程管理包括创建、调度、终止和监控进程的活动。以下是一些关于进程管理的关键概念: - 进程标识符(PID):每个进程都有一个唯一的PID,用于标识和跟踪进程。 - 进程状态:进程可以处于运行、就绪、阻塞或终止等不同状态。 - 进程调度:操作系统根据特定算法决定哪个进程应该在给定时间内运行。 - 进程创建:通过fork()系统调用创建子进程,或者通过exec()系列系统调用加载新程序镜像并替换当前进程。 - 进程终止:进程可以自愿终止,或者由其他进程(如父进程或操作系统)强制终止。 - 进程监控:可以使用系统工具(如ps、top)或编程接口(如proc文件系统)来监控和管理进程。 2. 进程通信: 进程通信是指进程之间交换数据和信息的机制。在Linux中,有多种方法可以进行进程间通信,包括: - 管道(Pipe):用于在父子进程或具有亲缘关系的进程之间进行通信。 - 信号(Signal):用于向进程发送简单的通知或中断信号。 - 共享内存(Shared Memory):允许多个进程共享同一块物理内存,以便快速高效地进行数据交换。 - 消息队列(Message Queue):进程可以通过消息队列传递和接收消息。 - 信号量(Semaphore):用于实现进程间的互斥和同步操作。 - 套接字(Socket):适用于网络编程,允许不同主机上的进程进行通信。 这只是对Linux进程管理和进程通信的简要介绍,如果您有任何具体问题或深入了解的需求,请随时提问!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值