[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Несколько вопросов вразброс



18.07.2012 17:46, "Артём Н." пишет:
On 18.07.2012 14:05, Igor Chumak wrote:
17.07.2012 18:34, "Артём Н." пишет:
On 17.07.2012 11:24, Artem Chuprina wrote:
Артём Н. ->   debian-russian@lists.debian.org  @ Thu, 12 Jul 2012 20:31:32 +0400:

   >>   Дык, кто же будет это читать... Нужна мотивация.
   АН>   Вы прям убили мою светлую идею на корню. :-D
   АН>   Я понимаю, что читать и разбирать по строчке нафиг никому не нужно.
   АН>   Общее впечатление: читабельно, нечитабельно,
Вон там первая строчка квотинга дает ответ на этот вопрос.  Нечитабельно.
Тогда вопрос: почему? Комментарии есть. Код оформлен, как мне кажется, в
читаемом стиле. "Трюков" не применялось. Из-за чего?
Дык 500 строк кода.. Если код в экран не влазит, и одним взглядом его не окинешь
- значит это уже не совет, а платный суппорт ;)
А так , не спорю, код написан, код оформлен, код , возможно , работает ;)
Не работал. ;-) Я забыл аргументы main передать и были некоторые косяки. В том,
что не протестировано. Сейчас исправил. Теперь он успешно делает бэкапы. Даже
первый полный бэкап того, что хотел вчера сделал.
Но ещё минус: сейчас есть блокировка от запуска второй копии с тем же конфигом,
но сигналы не ловлю. Поэтому, при нажатии Ctrl+C он завершается не убирая
блокировку. В принципе-то не очень важно, потому что запускаться будет по
anacron, но потом доделаю.

Защиту от запуска второй копии я делал так:

if [ -f $lockfile ]
then
 echo "Lock file $0.lock exist!"
while [ -f $lockfile ]
 do
   pid=`cat $lockfile`
   if [ -n "$pid" ]; then
        echo "pid=$pid in lockfile; our pid=$$"
        if ps $pid ; then
                echo "Process exist; waiting"
        else
                echo "no process with $pid; remove lockfile"
                rm -f $lockfile
        fi
        else
                echo "no process with $pid; remove lockfile"
                rm -f $lockfile
   fi
   echo "sleep 10s"; sleep 10
 done
fi
echo $$>$lockfile

(Если обнаруживаем вторую копию - ждем пока она завершится.)




Reply to: