我需要能够调用这个:
watch-n1 cat/proc/mdstat
来自bash。
对于raid创建监视(在mdadm--create等之后),然后杀死它,则构建过程将结束。
#!/bin/bash
#PID=$!
while
progress=$(cat /proc/mdstat |grep -oE 'recovery = ? [0-9]*')
do
watch -n1 cat /proc/mdstat
PID=$(pidof watch)
echo "$PID" >> /mnt/pid
if (("$progress" >= "100"))
then
break
kill -9 $PID
fi
done
echo "done"
但我想不出如何在狂欢节上杀死手表。我在循环中尝试了PID=$!
和PID=$$
,pidof watch
,但无法将正确的PID
分配给我的变量以生成kill -9 $PID
。
听起来你需要让手表一直运行到进度达到100?
watch -n1 cat /proc/mdstat &
WATCHPID=$!
while
progress=$(cat /proc/mdstat |grep -oE 'recovery = ? [0-9]*')
do
if (("$progress" >= "100"))
then
break
fi
sleep 1
done
kill $WATCHPID
echo "done"