我在16个驱动器的后台运行shred
。我想有一个bash脚本,每小时检查一次进程pidof shred
。如果该流程未显示,则echo "Shredding Completed...
其他echo "Shredding Running..."
这就是我现在所拥有的,当shred
未运行时,它将回显"Shredding Completed..."
但如果它正在运行则退出该脚本。
while :
do
if pidof shred > : && break
then
echo "Shredding Running..."
sleep 60m
else
echo "Shredding Completed..."
exit
fi
done
感谢你
固定:让我迟钝,我拿出&& break
然后就可以了!洛尔
答案 0 :(得分:1)
每次都写到/dev/null
而不是:
并且不要break
循环:
while :
do
if pidof shred > /dev/null
then
echo "Shredding Running..."
sleep 60m
else
echo "Shredding Completed..."
exit
fi
done
更好的方法是:
while pidof shred > /dev/null
do
echo "Shred running..."
sleep 60m
done
echo "Done"
另请注意shred is not more secure,而不是简单的dd if=/dev/zero of=device bs=4M
。