结论

结论
 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 的输出

相关内容