我正在尝试让终端显示最后打开的 5 个进程。这对我的调试很有帮助。
到目前为止,我已经
watch ps -ef --sort=start_time
这可以正常工作,但它会显示所有进程,因此它们不适合屏幕。我如何将其限制为特定数字,例如 5 或 10?
- 更新 -
已经尝试过了
watch "ps -ef --sort=start_time | tail -n 5"
但问题是,的标题ps
被省略了,所以过了一会儿,我就不知道自己在看什么了。
答案1
你要:
watch "ps -ef --sort=start_time | tail -n 5"
tail
将仅输出n
通过管道传输的最后几行。
我假设你尝试过:
watch ps -ef --sort=start_time | tail -n 5
它将尝试将 的输出通过管道传输watch
到tail
,而不是 的输出ps
,并且由于watch
永不终止,tail
无法确定最后n
一行何时输出,因此也不会打印任何内容。
如果您还希望保留标题,则可以使用一些巧妙的 bash 来简单地:
watch "ps -ef --sort=start_time | (head -n 1 ; tail -n 5)"
这head
也会导致打印顶行。