Существует Дуга Linux запись Wiki, сравнивающая 13 различных Менеджеров окон Мозаичного размещения, подобным сетке способом, здесь на Дуге Linux Wiki. Возможно, это был бы hepful.
Я еще не судил ни одного из них, лично, но планирую к в ближайшем будущем, когда у меня есть некоторое время, таким образом, я следую за этим потоком тесно также.
Так следовавший с "небольшим" сценарием тайм-аута, который проверяет размер файла журнала, чтобы определить, работает ли процесс все еще. Не симпатичный, но действительно помогал:
#!/bin/sh
TIMEOUT=$1
FILE=$2
PID=$3
if [ -z "$PID" ]
then
echo $0 timeout file pid
echo " e.g. 60 /tmp/log 16325"
exit
fi
echo "stalekill: timeout=$TIMEOUT file=$FILE pid=$PID"
sleep 1
SIZE=0
while true
do
sleep 3
NEWSIZE=$(stat -c%s "$FILE")
if [ "$NEWSIZE" -eq "$SIZE" ]
then
echo "stalekill '$FILE' unchanged; $SIZE"
sleep $TIMEOUT
NEWSIZE=$(stat -c%s "$FILE")
if [ "$NEWSIZE" -eq "$SIZE" ]
then
kill $PID || sleep 2 && kill -9 $PID
exit
fi
echo "stalekill '$FILE' changed; $SIZE..$NEWSIZE"
else
echo "stalekill '$FILE' changed; $SIZE..$NEWSIZE"
fi
SIZE=$NEWSIZE
done
Вызванный следующим образом (в цикле):
./offlineimap.py >> ./log.txt 2>&1 & stalekill 25 ./log.txt $!
Синхронизация не чрезмерно профессиональна, и было бы еще более хорошо, если бы это также проверило, завершил ли процесс уже себя; но в основном сделал подвиг.
Но тем не менее, если кто-либо знает другое или больше стандартизированного решения этой задачи: accepted answer tick still available
.
Дайте попытку http://pyropus.ca/software/getmail/. Можно установить тайм-аут для каждой учетной записи IMAP.
getmail
и fetchmail
не восстанавливайтесь с потери соединения. Они постоянно повторно выбирают все письма для IMAP4 и POP3.
– mario
25.07.2011, 22:52
Вы могли бы хотеть смотреть на Monit, который может, вероятно, сделать то, что Вы ищете.
IF SIZE CHANGED
протестируйте, не соответствуйте моему случаю. Интересный, тем не менее.
– mario
25.07.2011, 17:43