Убить часы из баш
Я должен быть в состоянии назвать это:
смотреть -n1 cat /proc/mdstat
из Баш.
Для наблюдения за созданием рейда (после 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
,
1 ответ
Решение
Похоже, вам нужно будет запустить часы, пока прогресс не достигнет 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"