我在后台的16个驱动器上运行了shred。我想有一个bash脚本,检查进程pidof shred每小时。如果该进程未显示,则echo "Shredding Completed... else 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 并且它有效! 哈哈
发布于 2014-06-07 04:29:23
写到/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。
https://stackoverflow.com/questions/24090102
复制相似问题