From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_00,SPF_SOFTFAIL autolearn=no version=3.2.5 Message-ID: <49C73275.10209@mail.ru> Date: Mon, 23 Mar 2009 09:55:49 +0300 From: Vladimir Karpinsky User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) MIME-Version: 1.0 To: ALT Linux Community general discussions References: <493F8D1F.10304@mail.ru> <200812102156.04579.alexey.borovskoy@gmail.com> <49C54DCD.1050001@mail.ru> <49C562C6.9030704@kalina.in.ua> <49C5DFF1.9040806@mail.ru> <49C66977.6050109@kalina.in.ua> <49C688BC.3090200@mail.ru> <49C6974F.3060502@kalina.in.ua> In-Reply-To: <49C6974F.3060502@kalina.in.ua> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV using ClamSMTP Subject: Re: [Comm] =?koi8-r?b?+sXSy8HMydLP18HOycUg0M8g0sHT0MnTwc7JwC4=?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Mar 2009 06:56:05 -0000 Archived-At: List-Archive: List-Post: Здравствуйте! Yura Kalinichenko пишет: > Vladimir Karpinsky пишет: >> Yura Kalinichenko пишет: >>>> Насколько я понял, --- понял ещё не всё, разбираюсь, --- это не >>>> совсем то. У меня проблема такая: по крону раз в 15 минут >>>> запускается скрипт, пытающийся достучаться до удалённого ресурса и >>>> скачать оттуда данные. Связь, даже когда она есть, терпимая, хуже >>>> другое: 20 часов из 24 нет там нет электричества. Скрипт без связи >>>> отваливается, лок-файл удаляется, всё хорошо. Мне надо отследить >>>> момент, когда связь есть, и уже происходит перекачка данных, а тут >>>> подходит время следующего запуска скрипта: возможны разные >>>> неприятности при одновременной закачке, поэтому повторный скрипт >>>> должен обнаружить блокировку и просто отвалится, не трогая её. >>> Так это и происходит, когда используете для блокировки функцию >>> test_lock. Плюс проверяется - существует ли еще процесс, создавший >>> блокировку, и если нет (напр. был убит по kill -9) - блокировка >>> перехватывается. >> >> Я прошу прощения, а что такое kill -0? kill -l про сигнал 0 молчит... > Ну это в общем-то классика. Этот псевдосигнал используется для проверки > существования процесса. Вот что говорит, к примеру, info kill: Спасибо! Странно, что нет ни в man, ни в kill -l. >> Я до конца не понимаю смысл цикла until: ставится запрет на перезапись >> существующего файла и дальше зацикливаемся в попытке его перезаписать. >> Далее, если kill -0 успешен, > Т.е. лок выставлен, и процесс, его создавший, активен >> то удалять лок-файл не надо, ждём, что он процессе счёта до 10 сам >> уйдёт (?) > Т.е. ожидаем (если нужно) что процесс, заблокировавший ресурс, > завершится сам и тогда мы выставим свою блокировку и начнем свою обработку. >> или мы его убьём в следующей итерации until. > Не его - себя. Если за определенное время процесс, ранее заблокировавший > ресурс, его не освободил - обычно ждать далее не имеет смысла, и мы > выходим в расчете на следующий запуск. Хотя иногда (но не в вашей > ситуации) может иметь смысл ожидать до победного конца. Понял, вроде. >> Полностью согласен, но мои эксперименты с выдёргиванием сетевого шнура >> из компьютера, с котрого уже качает wget, показал, что wget не >> отваливается, несмотря на наличие таймаутов. > Странно. Только что проверил: wget --timeout=3 -c 'http://...' > благополучно разрывается через 3 сек. после выдергивания шнура либо > укладывания интерфейса. Попробую ещё раз на днях... Ставил ключи -t 5 -T 5: т.е. 5 попыток по 5 секунд. У меня не отваливался wget, только если сеть рвалась уже имеено в момент закачки. Во всех остальных случаях (подключение, получение списка и т.п.) всё отваливалось нормально. -- С уважением, Владимир.