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

распространенный механизм - писать во временный файл pid запущенного процесса.
При запуске проверять что процесс с таким pid'ом существует и является argv[0].
Если не существует или по данному pid'у работает другая программа, то можно грохать файл.
...
Рейтинг: 0 / 0
Проверить наличие работы скрипта на unix системе.
    #37418479
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Можно еще пытаться эксклюзивно лочить файл. Если процесс умрет, блокировка снимется.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Проверить наличие работы скрипта на unix системе.
    #38482813
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Проверить наличие работы скрипта на unix системе.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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