The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
скрипт для проверки запущенных процессов(не работает), !*! Alinak, 22-Дек-12, 21:14  [смотреть все]
Добрый день.

Есть кусок скрипта, выглядит вот так:

#!/bin/bash
PID_FILE=pid.txt
MY_PID=$$
cnt=1    
if  [ -f $PID_FILE ] && kill -0 `cat $PID_FILE` && ps -p `cat $PID_FILE` -o cmd | grep `basename $0`>/dev/null
then date >> temp.log
     echo 'The script already running. Exiting.' >> temp.log
     exit 2
else echo $$ >$PID_FILE
     date >> temp.log
     echo 'no running script fuond.' >> temp.log;
fi    
....#основная часть скрипта

скрипт запускается из крона каждые 4 минуты. Основная часть скрипта должна работать минут 20, т.е. в temp.log должно быть одно сообщение no running script fuond. и затем как минимум три сообщения The script already running. Exiting.
но на самом деле в логе совершенно другое, а именно:

Sat Dec 22 12:08:01 EST 2012
no running script fuond.
Sat Dec 22 12:08:01 EST 2012
The script already running. Exiting.
Sat Dec 22 12:12:01 EST 2012
no running script fuond.
Sat Dec 22 12:12:01 EST 2012
The script already running. Exiting.

т.е. скрипт как бы дважды отрабатывает в одно и тоже время. В чем причина такого его поведения?




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру