Answers:
控制台备用的是top
,但是还有其他类似的选项,例如我最喜欢的选项htop
,它们可以为您提供更多的显示灵活性,并允许您对进程进行更多操作。
最好是在脚本中使用的交互性较低的视图是ps
程序及其所有亲属。
编辑:根据您所澄清的问题,您可能会注意到,它可以strace
处理监视由给定进程进行的系统调用,包括所有读写操作和os函数调用。您可以通过在命令行中单击要选择的进程,s在要跟踪或附加到正在运行的进程的程序之前在命令行上激活它htop
。
htop
涵盖了所有细节,但启动顺序监视除外。充其量它可以在被激活screen
/ tmux
某个部分的方式,通过一个linux启动cylce。
strace
,您可以htop
通过点击s
某个进程来激活它,或者在运行某些内容或使用一个进程ID时从命令行手动激活它。
所有过程监视器的祖父都是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上,ktrace
或dtrace
在* BSD下,等等。
要查看特定文件或特定目录或目录树中发生的情况,请使用inotify工具。
inotifywait -m .
同样,该功能特定于Linux,但是大多数其他的联合国机构也有类似的系统,例如* BSD下的kqueue和FAM(最初来自SGI,但现在在许多系统上都可以作为API使用)。
要观看Linux下的所有系统调用,可以使用audit子系统。这是相对较新的话题,关于这一主题的文献很少。搜索auditctl
或阅读auditctl
手册页。此站点上有两个示例:跟踪文件访问,跟踪流程执行。
iotop -o -b -P
向我展示了哪些进程正在执行磁盘I / O操作
我回答这个问题真的很晚,但是我已经启动了一个项目,旨在完全按照您的要求进行。在这里看看:https : //github.com/alexandernst/monks
dtrace4linux允许您跟踪内核的一些有趣的花样。尽管它看起来比sysdig更强大,但不幸的是它的表现并不理想。
top
这相当于Process Explorer而不是Process Monitor,对吗?