等价于Linux的Process Monitor?


26

是否有与进程监视器(Unix 或CUI)等效的Unix / Linux ?

如果有所作为,我正在研究Ubuntu,但是如果其他系统(Mac,Fedora等其他Linux变体)具有同等的功能,那么了解其中的任何一个也会很有用。

编辑:

进程监视器用于监视系统调用(例如文件创建或写入),而进程资源管理器用于监视进程状态(例如系统监视器)。我要的是前者,而不是后者。:-)

Answers:


12

控制台备用的是top,但是还有其他类似的选项,例如我最喜欢的选项htop,它们可以为您提供更多的显示灵活性,并允许您对进程进行更多操作。

最好是在脚本中使用的交互性较低的视图是ps程序及其所有亲属。

编辑:根据您所澄清的问题,您可能会注意到,它可以strace处理监视由给定进程进行的系统调用,包括所有读写操作和os函数调用。您可以通过在命令行中单击要选择的进程,s在要跟踪或附加到正在运行的进程的程序之前在命令行上激活它htop


4
我相信top这相当于Process Explorer而不是Process Monitor,对吗?
Mehrdad

您如何运行它并浏览手册页。我通读了您链接到过程监视器的功能列表,听起来好像htop涵盖了所有细节,但启动顺序监视除外。充其量它可以在被激活screen/ tmux某个部分的方式,通过一个linux启动cylce。
卡莱布

根据您的其他评论,您可能还在寻找strace,您可以htop通过点击s某个进程来激活它,或者在运行某些内容或使用一个进程ID时从命令行手动激活它。
卡莱布(Caleb)

12

所有过程监视器的祖父都是top,许多系统监视工具都被称为top。例如,iotop需要监视磁盘I / O,atop大量系统资源和powertop功耗。

如果您需要更多详细信息,则默认情况下不会对其进行跟踪。要查看特定进程在做什么,请strace对其进行调用。例如,如果您仅对文件系统访问感兴趣:

strace -s9999 -efile command_name    # trace a program during its whole execution
strace -s9999 -efile -p1234          # trace a running program with the given PID

strace特定于Linux,但其他系统也有类似的工具:truss在Solaris上,ktracedtrace在* BSD下,等等。

要查看特定文件或特定目录或目录树中发生的情况,请使用inotify工具

inotifywait -m .

同样,该功能特定于Linux,但是大多数其他的联合国机构也有类似的系统,例如* BSD下的kqueueFAM(最初来自SGI,但现在在许多系统上都可以作为API使用)。

要观看Linux下的所有系统调用,可以使用audit子系统。这是相对较新的话题,关于这一主题的文献很少。搜索auditctl或阅读auditctl手册页。此站点上有两个示例:跟踪文件访问跟踪流程执行


您确定要引用的是Process Monitor不是 Process Explorer吗?
Mehrdad

@Mehrdad:我看到的是我在Windows上使用的工具(实际上是Process Explorer)的名称和记忆,而不是实际的描述。要求与某个特定程序等效,总是比较危险,而要求具有某些功能的程序总是比较危险的。
吉尔斯(Gilles)'所以

谢谢。iotop -o -b -P向我展示了哪些进程正在执行磁盘I / O操作
bartolo-otrit

8

您可能想看看lsofstrace。Sysinternal的Process Monitor实际上是Filemon和Regmon,并具有一些其他增强功能。该top命令更像Process Explorer。




2

我没有使用过Process Monitor,但据我所知它与gnome-system-monitorGnome系统上的相同。如果使用KDE,它们可能具有类似的功能。


不,他们不同。Process Monitor实际上挂接系统调用,而不显示进程信息。(不过,您所指的是由Process Explorer完成的。)
Mehrdad

哦,好吧,我通常使用CLI工具vmstat进行此类操作。但这是系统范围的,而不是每个进程。
基思

1

dtrace4linux允许您跟踪内核的一些有趣的花样。尽管它看起来比sysdig更强大,但不幸的是它的表现并不理想。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.