|
|
|
Проверить наличие работы скрипта на unix системе.
|
|||
|---|---|---|---|
|
#18+
Есть скрипт(perl) который запускается по крону. При запуске необходимо проверить работает ли он или нет. Как бы это сделать по элегантней. На данный момент он при запуске создает файл-метку в tmp и по окончании работы его удаляет, но это мне не очень нравится вдруг кто-нибудь в середине работы скрипта прервет его работу (нло, уборщица, чубайс) тогда файл-метка будет не удалена и следующий раз он не запустится. Думаю можно мониторить его читая таблицу процессов и если в данный момент их больше двух то выходить. Может быть есть стандартный прием для подобных задач? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 14:24 |
|
||
|
Проверить наличие работы скрипта на unix системе.
|
|||
|---|---|---|---|
|
#18+
Проверить код возврата (return). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:42 |
|
||
|
Проверить наличие работы скрипта на unix системе.
|
|||
|---|---|---|---|
|
#18+
da17, распространенный механизм - писать во временный файл pid запущенного процесса. При запуске проверять что процесс с таким pid'ом существует и является argv[0]. Если не существует или по данному pid'у работает другая программа, то можно грохать файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 20:13 |
|
||
|
Проверить наличие работы скрипта на unix системе.
|
|||
|---|---|---|---|
|
#18+
Можно еще пытаться эксклюзивно лочить файл. Если процесс умрет, блокировка снимется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 07:16 |
|
||
|
Проверить наличие работы скрипта на unix системе.
|
|||
|---|---|---|---|
|
#18+
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(); ~ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 07:53 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38482813&tid=1341555]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
264ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 535ms |

| 0 / 0 |
