慢动作观看 htop 树的演变

慢动作观看 htop 树的演变

使用htop及其树视图(由t或触发F5),人们可以通过父级查看进程,并将它们之间的关系布局为树。

有没有办法可以慢动作观察进程树是如何演变的?也就是说,以某种方式记录历史并以自定义速度播放,有点像允许逐帧播放的视频播放器?现在,它有时闪得太快而无法跟踪。

htop也欢迎使用替代工具。

答案1

有限的通用慢动作重播方式

您可以使用script来记录htop,例如:

script -O typescript -T typescript.timing -c 'htop -t'

script将在htop退出后立即退出。或者:

script -O typescript -T typescript.timing

让你进入一个 shell,你可以在那里运行和/或做其他事情。在这个方法中,shellhtop -t很重要;只有这样才能退出。exitscript

退出后script,你可以慢动作重播:

scriptreplay typescript.timing typescript 0.1

限制:

  • script记录终端会话中发生的事情。就您而言,它实际上并不记录进程树。它记录htop打印的内容,因此它打印了树。但如果htop没有向您显示某个进程(因为它是瞬态的,或者您只是滚动浏览了树的错误部分),那么scriptreplay也不会显示该进程。考虑htop -t -d 1让瞬态进程更容易被看到。无论如何script+htop绝不是审计操作系统进程的可靠方法。我的意思是你可能会错过一些流程。

  • 终端会话中发生的情况取决于终端的大小。在不同大小的终端(尤其是在任何方向上都较小的情况下)中播放可能会导致错位、伪影等。在播放过程中调整终端大小可能会导致额外的伪影。

  • 如果你scriptreplayCtrl+打断c,那么你可能需要运行reset或以其他方式使你的终端恢复正常状态

  • 据我scriptreplay所知,它不是交互式的,甚至不能暂停。我发现scriptreplay_ng,在这方面似乎更好一些;但我还没有测试过。

相关内容