towerが電源断で落ちるという事故があり、/var/run/dovecot/master.pidが残っていて、dovecotが起動しなかった。
pidファイルが存在すると、lockファイルが存在しなくても起動できないようだ。
正常終了および、正常起動したときには問題は発生しないが、対策として/etc/init.d/dovecotをいじっておくことにした。
# vi /etc/init.d/dovecot
start() {
echo -n $"Starting $prog: "
if [ ! -f /var/lock/subsys/dovecot -a -f /var/run/dovecot/master.pid ]; then
/bin/rm /var/run/dovecot/master.pid
fi
daemon /usr/sbin/dovecot
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
echo
}