擅长:python、mysql、java
<p>试试下面的方法</p>
<pre><code>#!/bin/bash
function _mpstat() {
while :; do
arr=( $(mpstat -P 1 | tail -n 1) )
echo "${arr[3]}"
sleep 20
done >> file.txt
}
_mpstat &
echo "_mpstat PID: $!"
</code></pre>
<p><strong>说明</strong></p>
<ul>
<li><code>while :; do</code>无限循环</li>
<li><code>$(mpstat -P 1 | tail -n 1)</code>Mpstat仅cpu 1<code>-P 1</code>和尾<code>-n 1</code>最后一行,返回值<code>$()</code></li>
<li><code>arr=( ... )</code>命令将值返回到数组</li>
<li><code>echo "${arr[3]}"</code>回波阵列索引3</li>
<li><code>sleep 20</code>睡眠20秒</li>
<li><code>>> file.txt</code>将stdout发送到while循环块中的文件。在</li>
<li><code>_mpstat &</code>将函数发送到后台进程<code>&</code></li>
<li><code>echo "_mpstat PID: $!</code>返回函数的PID</li>
</ul>
<p>您可以grep PID以显示其父进程,并在需要时同时终止这两个进程。在</p>