PID %CPU %MEM COMMAND
719011 ---- -- 0 ---- --- ---- - 0.7 1.3 606:58.25 dvaudio_server
719012 ---- -- 0 ---- --- ---- - 0.7 1.3 606:58.25 dvaudio_server
719013 ---- -- 0 ---- --- ---- - 0.7 1.3 606:58.25 dvaudio_server
719014 ---- -- 0 ---- --- ---- - 0.7 1.3 606:58.25 dvaudio_server
719015 ---- -- 0 ---- --- ---- - 0.7 1.3 606:58.25 dvaudio_server
719016 ---- -- 0 ---- --- ---- - 0.7 1.3 606:58.25 dvaudio_server
是否可以通过发出一系列通过管道传输的命令然后保存到文件来实现上述结果?
我尝试过各种方法但结果都很混乱。
有没有办法只使用 pPID 来获取此信息?这样就无需在命令中写入每个子 PID!
答案1
结论
top -b -n1 | sed '1,6d'
长答案
您可以使用以下-b
选项top
:
-b : Batch mode operation Starts top in 'Batch mode', which could be useful for sending output from top to other programs or to a file. In this mode, top will not accept input and runs until the iterations limit you've set with the '-n' command-line option or until killed.
这基本上是非top
交互式的。然后您可以根据需要通过管道传输任何命令,并将输出重定向到您选择的文件。
正如手册中所述,您可能希望使用该-n
选项,以便不必终止该进程。如果您希望进程在显示结果后立即停止,请使用该-n 1
值。
sed -'1,6d'
将删除资源使用情况摘要(输出的前 6 行)。
编辑
可能重复获取top
非交互式 shell 的输出。