ps ax
命令显示一个当前系统进程的列表,该列表中包括其他用户拥有的进程。要显示进程以及它们的所有者,使用 ps aux
命令。该列表是一个静态列表;换一句话说,它是在你启用这项命令时正在运行的进程的快照。如果你需要一个时刻更新的运行进程列表,使用下面描述的 top
命令。
ps
的输出会很长。要防止它快速从屏幕中滑过,你可以把它管道输出给 less 命令:
你可以使用 ps
命令和 grep
命令的组合来查看某进程是否在运行。譬如,要判定 Emacs
是否在运行,使用下面这个命令:
top
命令显示了当前正运行的进程以及关于它们的重要信息,包括它们的内存和 CPU 用量。该列表既是真实时间的也是互动的。以下提供了一个 top
的输出示例:
19:11:04 up 7:25, 9 users, load average: 0.00, 0.05, 0.12
89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: cpu user nice system irq softirq iowait idle
total 6.6% 0.0% 0.0% 0.0% 0.0% 0.0% 192.8%
cpu00 6.7% 0.0% 0.1% 0.1% 0.0% 0.0% 92.8%
cpu01 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0%
Mem: 1028556k av, 241972k used, 786584k free, 0k shrd, 37712k buff
162316k active, 18076k inactive
Swap: 1020116k av, 0k used, 1020116k free 99340k cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
1899 root 15 0 17728 12M 4172 S 6.5 1.2 111:20 0 X
6380 root 15 0 1144 1144 884 R 0.3 0.1 0:00 0 top
1 root 15 0 488 488 432 S 0.0 0.0 0:05 1 init
2 root RT 0 0 0 0 SW 0.0 0.0 0:00 0 migration/0
3 root RT 0 0 0 0 SW 0.0 0.0 0:00 1 migration/1
4 root 15 0 0 0 0 SW 0.0 0.0 0:00 0 keventd
5 root 34 19 0 0 0 SWN 0.0 0.0 0:00 0 ksoftirqd/0
6 root 34 19 0 0 0 SWN 0.0 0.0 0:00 1 ksoftirqd/1
9 root 25 0 0 0 0 SW 0.0 0.0 0:00 0 bdflush
7 root 15 0 0 0 0 SW 0.0 0.0 0:00 1 kswapd
8 root 15 0 0 0 0 SW 0.0 0.0 0:00 1 kscand
10 root 15 0 0 0 0 SW 0.0 0.0 0:01 1 kupdated
11 root 25 0 0 0 0 SW 0.0 0.0 0:00 0 mdrecoveryd
|
要退出 top
,按 [q]
键。
可以和 top
一起使用的互动命令包括:
命令
描述
[Space]
|
立即刷新显示 |
[h]
|
显示帮助屏幕 |
[k]
|
杀死某进程。你会被提示输入进程 ID 以及要发送给它的信号。 |
[n]
|
改变要显示的进程数量。你会被提示输入数量。 |
[u]
|
按用户排序。 |
[M]
|
按内存用量排序。 |
[P]
|
按 CPU 用量排序。 |
表 42-1. 互动的 top
命令
|
窍门
|
类似于 Mozilla
和 Nautilus
的应用程序具备线程感知(thread-aware)
— 多个线程会被创建来处理多个用户或多个请求,而且每个线程都有自己的 PID。按照默认设置,ps
和 top
只显示主(初始)线程。要查看所有线程,使用 ps -m
命令或在 top
中键入[Shift]
-[H]
组合键。
|
如果和 top
相比,你更喜欢使用图形化界面,你可以使用 GNOME 系统监视器
。要从桌面上启动它,选择面板上的
=>
=>
或在 X 窗口系统的 shell 提示下键入 gnome-system-monitor
。然后选择「进程列表」
标签。
GNOME 系统监视器
允许你在正运行的进程列表中搜索进程,还可以查看所有进程、你拥有的进程、或活跃的进程。
要了解更多关于某进程的情况,选择该进程,然后点击「更多信息」
按钮。关于该进程的细节就会显示在窗口的底部。
要停止某进程,选择该进程,然后点击「结束进程」
。这有助于结束对用户输入已不再做出反应的进程。
要按指定列的信息来排序,点击该列的名称。信息被排序的那一列会用深灰色显示。
按照默认设置,GNOME 系统监控器
不显示线程。要改变这个首选项,选择
=>
,点击「进程列表」
标签,然后选择「显示线程」
。首选项还允许你配置更新间隔;每个进程默认显示的信息;以及系统监视器图表的颜色。
分享到:
相关推荐
在嵌入式Linux系统中,进程和线程之间的通信是实现多任务并行处理和协作的关键。本主题将深入探讨几种常见的通信机制:有名管道(named pipe)、共享内存、消息队列以及信号。 首先,有名管道是一种半双工的通信...
本作业要求在Linux下使用C语言实现一个抓取并分析网络数据的软件系统。该系统采用客户端和服务器端开发模式。在客户端,设计两个进程P1和P2同时读取网卡上的数据,P1读取数据后,负责将TCP报文中的头部数据写入到...
Linux下查看进程和线程.docxLinux下查看进程和线程.docx
本项目通过一个Gradle项目展示了如何实现这一功能,并提供了`adb shell ps -t -p -c`命令来查看系统中线程和进程的CPU绑定情况。 首先,我们需要理解安卓系统中的进程和线程概念。在安卓系统中,每个应用都是一个...
操作系统实验报告——线程与进程同步,主要探讨了在Linux环境下如何实现进程和线程的同步,以解决经典的生产者-消费者问题。该实验旨在帮助学生掌握操作系统提供的同步机制,并深化对经典同步问题的理解。 实验内容...
linux下的进程、线程
4. **框架设计**:一个良好的多线程/信号管理框架应具有以下特点: - **易用性**:用户只需关注其业务逻辑,无需关心底层的线程创建和信号处理细节。 - **健壮性**:框架应能妥善处理线程异常和信号,避免程序崩溃...
总之,Linux和Unix下的进程和线程是系统级编程的重要概念。理解它们的工作原理,熟练运用多线程技术,对于编写高效、可靠的软件至关重要。在实际开发中,应根据需求合理选择进程或线程,充分利用系统资源,提高程序...
Windows 下创建进程和线程的 API 在 Windows 操作系统中,创建进程和线程是非常重要的一步骤,对于开发者来说,掌握这方面的知识点是非常必要的。下面我们将详细介绍 Windows 下创建进程和线程的 API。 一、实验...
总之,"linux网络通讯/进程线程/文件操作经典代码"资料涵盖了Linux系统编程的核心知识,对于任何希望在嵌入式Linux应用开发中提升技能的开发者来说都是一份宝贵的资源。通过学习和实践这些代码,你可以更好地理解...
Linux 多进程多线程编程是指在 Linux 操作系统下使用 C 语言进行多进程和多线程编程的技术。该技术可以大幅度提高程序的执行效率和响应速度,提高系统的并发能力和资源利用率。 1. 创建缺省线程 在 Linux 系统下,...
在操作系统课程设计中,Linux进程与线程的通信是一个核心且复杂的主题。在这个项目中,学生将深入理解操作系统内核如何管理和协调不同进程和线程之间的数据交换,从而实现高效的任务执行。以下是对这个主题的详细...
嵌入式Linux开发教程深入探讨了进程与线程的概念及其在操作系统中的实现,这对于理解和开发高效、并发的嵌入式应用程序至关重要。以下是这些知识点的详细解释: **一、基础知识:线程和进程** 1. **进程**:是操作...
接下来,我们将详细探讨与Linux进程、线程和调度相关的知识点。 首先,Linux进程是系统分配资源的基本单位,具有独立的地址空间。进程生命周期包括就绪(ready)、运行(running)、睡眠(sleep)、停止(stopped)...
代码目的是比较write和printf多路写性能。首先fork生成子进程,并且在子进程中重定向标准输出;然后在父子进程中各创建10个线程分别利用printf和write进行写操作;最后通过返回值比较两者性能。
详细介绍了linux下的程序、进程、线程的区别与共同点,是学习linux不可多得的好帮手
1.在linux下编写一个应用程序,命名为an_ch2_1b。这个程序不断地输出如下行: Those output come from child,[系统时间] 另外写一个应用程序,命名为an_ch2_1a。这个程序创建一个子进程,执行an_ch2_1b。这个程序...
LINUX系统下多线程与多进程性能分析 本文主要讨论了Linux操作系统下多线程和多进程的性能分析。在Linux系统中,使用多进程处理多个任务,会占用很多系统资源(主要是CPU和内存的使用)。因此,Linux系统对这种弊端...
Linux 下进程及多线程编程 在 Linux 操作系统中,进程和线程是两种基本的并发编程模型。进程是一种独立的执行单元,拥有独立的虚拟地址空间和系统资源,而线程是一种轻量级的进程,可以共享进程的虚拟地址空间和...
Linux 进程并发程序设计是指在 Linux 环境下编写并发程序的设计和实现,涵盖进程创建、进程通信、管道应用等方面。同时,掌握 Linux 环境下的进程并发程序设计也能够帮助开发者更好地理解 Linux 操作系统的工作机制...