Linux 上的进程监视器等效吗?

Linux 上的进程监视器等效吗?

是否有 Unix/Linux 等价的过程监控器,是 GUI 还是 CUI?

如果它有影响的话,我正在考虑 Ubuntu,但如果其他系统(Mac、其他 Linux 变体,如 Fedora 等)有等效的系统,那么了解其中任何一个也会很有用。

编辑:

过程监视器用于监视系统调用(例如文件创建或写入),而 Process探险家用于监视进程状态(类似于系统监视器)。我要求的是前者,而不是后者。 :-)

答案1

所有过程监视器的祖父是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 特有的,但大多数其他 unice 也有类似的系统,例如队列在 *BSD 下,以及FAM(最初来自 SGI,但现在可在许多系统上作为 API 使用)。

来观看所有系统调用在Linux下,你可以使用审计子系统。它是相对较新的,并且没有太多关于该主题的文献;搜索auditctl或阅读auditctl手册页。该网站上有几个示例:跟踪文件访问,跟踪流程执行情况

答案2

备用控制台是top,但是还有像我最喜欢的那样的替代方案htop,可以为您提供更多的显示灵活性,并允许您对进程进行更多操作。

更适合在脚本中使用的交互性较差的视图是ps程序及其所有相关内容。

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

答案3

您可能想看看lsofstrace。 Sysinternal 的 Process Monitor 实际上是 Filemon 和 Regmon 的结合,并进行了一些额外的增强。该top命令更像是 Process Explorer。

答案4

您可能正在寻找系统挖掘

例如:

sysdig -A -c echo_fds

相关内容