Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Проверить наличие работы скрипта на unix системе. / 5 сообщений из 5, страница 1 из 1
30.08.2011, 14:24
    #37417603
da17
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверить наличие работы скрипта на unix системе.
Есть скрипт(perl) который запускается по крону. При запуске необходимо проверить работает ли он или нет. Как бы это сделать по элегантней. На данный момент он при запуске создает файл-метку в tmp и по окончании работы его удаляет, но это мне не очень нравится вдруг кто-нибудь в середине работы скрипта прервет его работу (нло, уборщица, чубайс) тогда файл-метка будет не удалена и следующий раз он не запустится. Думаю можно мониторить его читая таблицу процессов и если в данный момент их больше двух то выходить. Может быть есть стандартный прием для подобных задач?
...
Рейтинг: 0 / 0
30.08.2011, 17:42
    #37418067
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверить наличие работы скрипта на unix системе.
Проверить код возврата (return).
...
Рейтинг: 0 / 0
30.08.2011, 20:13
    #37418251
Авторрррр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверить наличие работы скрипта на unix системе.
da17,

распространенный механизм - писать во временный файл pid запущенного процесса.
При запуске проверять что процесс с таким pid'ом существует и является argv[0].
Если не существует или по данному pid'у работает другая программа, то можно грохать файл.
...
Рейтинг: 0 / 0
31.08.2011, 07:16
    #37418479
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверить наличие работы скрипта на unix системе.
Можно еще пытаться эксклюзивно лочить файл. Если процесс умрет, блокировка снимется.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
29.11.2013, 07:53
    #38482813
volodin661
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверить наличие работы скрипта на unix системе.
da17Есть скрипт(perl) который запускается по крону. При запуске необходимо проверить работает ли он или нет. Как бы это сделать по элегантней. На данный момент он при запуске создает файл-метку в tmp и по окончании работы его удаляет, но это мне не очень нравится вдруг кто-нибудь в середине работы скрипта прервет его работу (нло, уборщица, чубайс) тогда файл-метка будет не удалена и следующий раз он не запустится. Думаю можно мониторить его читая таблицу процессов и если в данный момент их больше двух то выходить. Может быть есть стандартный прием для подобных задач?


use Sys::Syslog;

openlog($program, 'cons,pid', 'user');

syslog('info', 'this is another test');

..
здесь сам шкрипт
..

syslog('mail|warning', 'this is a better test: %d', time);
closelog();
~
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Проверить наличие работы скрипта на unix системе. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]