当前位置: 首页 > 面试题库 >

如何在Linux的文件中捕获top命令的输出?

柳威
2023-03-14
问题内容

我想将特定“ top”命令的输出写入文件。我做了一些谷歌搜索,发现可以通过使用以下命令来完成。

top -n 10 -b > top-output.txt

其中-n用于指定迭代次数,-b用于批处理模式。如果让top进行10次迭代,则效果很好。但是,如果我用Ctrl-C中断了命令的运行,则输出文件似乎为空。

我不会事先知道迭代次数,因此我需要手动中断它。如何在不指定迭代的情况下捕获文件top的输出?

我想精确使用的命令是

top -b | grep init > top-output.txt

并在需要时将其断开。但这是行不通的。

编辑:为了给这个问题更多的上下文,我有一个Java代码,该代码调用带有输入文件的工具。如在工具中一样,将文件作为输入并运行一段时间,然后再获取下一个文件,依此类推。我有一组100,000个文件,需要将其送入该工具。因此,现在我尝试监视该特定工具(它在Linux中作为一个进程运行)。我无法捕获整个“顶部”数据作为文件,因为不需要的数据可能太大了。如何捕获该进程的系统统计信息并使用top将其写入文件?


问题答案:

对我来说top -b > test.txttop即使我用破坏了,也会存储ok的所有输出ctrl-c。我建议您先转储,然后再转储grep生成的文件。



 类似资料:
  • 问题内容: 关于在Linux上计时程序的一个小问题:time命令允许测量程序的执行时间: 哪个工作正常。但是,如果我尝试将输出重定向到文件,它将失败。 我知道还有其他一些带有选项-o的时间实现,但是我的问题是关于没有那些选项的命令。 有什么建议么 ? 问题答案: 尝试 将“时间”的STDERR和您的命令组合到time.txt中 或使用 将来自“睡眠”的STDERR放入文件“ sleep.stder

  • 问题内容: 我遇到了一个困扰我几天的问题。我在Python 2.7.10中使用了Paramiko模块,我想向Brocade路由器发出多个命令,但仅返回给定命令之一的输出,如下所示: 如果要打印完整的输出,它将包含发布到路由器的所有内容,但是我只想查看show命令的输出。 谁能解决这个问题? 我想问的最后一件事。我想过滤变量并检查是否出现诸如“ up”或“ down”之类的字符串,但是由于输出中的所

  • 本文向大家介绍Linux中使用top命令的技巧,包括了Linux中使用top命令的技巧的使用技巧和注意事项,需要的朋友参考一下 首先介绍top中一些字段的含义:  VIRT:virtual memory usage 虚拟内存 1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等 2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量 RES:res

  • Linux的lsblk命令的输出是怎样看的? Q1:这是2个硬盘没有挂载吗还是1个呢,为什么他是树状显示的? Q2:type是不一样的,part的意思是这个盘被分成了2个分区吗? 主要是这个树状图没法搜索,所以问下大家

  • 问题内容: 不久前,我正在寻找Java中的可嵌入的分布式版本控制系统,我想我已经在JGit中找到了它,它是git的纯Java实现。但是,示例代码或教程的方式并不多。 如何使用JGit检索某个文件的HEAD版本(就像或应该做)? 我想这涉及一些rev-tree-walking,并且正在寻找代码示例。 问题答案: 不幸的是,Thilo的答案不适用于最新的JGit API。这是我找到的解决方案: 我希望

  • 问题内容: 假设我要在go程序中运行“ls”,并将结果存储在字符串中。似乎有一些命令可以在exec和os包中派生进程,但是它们需要stdout等文件参数。是否有办法将输出作为字符串? 问题答案: 编辑: 此答案已过时。请在下面查看FatihArslan的答案。 通过指定Pipe作为标准输出(如果需要,还可以使用stderr)来使用exec.Run。它将返回cmd,其中在Stdout(和Stderr