Убить часы от баша

Мне нужно иметь возможность называть это:

смотреть -n1 cat/proc/mdstat

от bash.

Для создания рейда (после 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"

licensed under cc by-sa 3.0 with attribution.