![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| умолчанию CRON корпуса | dummy_9746 | Shell программирование и сценарии | 2 | 10-13-2008 03:25 PM |
| Cron исполнения корпуса сценарий | ashish.sharma | Shell программирование и сценарии | 3 | 09-08-2008 03:57 AM |
| Возможно ли, чтобы иметь более одного Cron в оболочке сценарий? | Yamini Thoppen | AIX | 4 | 12-17-2007 03:23 AM |
| Shell скрипт И CRON | deppy82 | Shell программирование и сценарии | 3 | 08-02-2007 02:00 PM |
| Shell + Oracle + Cron Job | pathanjalireddy | Shell программирование и сценарии | 1 | 04-07-2005 03:07 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
которые лучше Пробег по Cron или Shell
Уважаемые эксперты, У меня есть сценарий, определенных в Cron, который проходит каждые 1 минуты. Код:
* * * * * /export/home/myscript.sh >/dev/null 2>&1 Теперь вопрос, что является исполнителем myscript.sh нибудь займет 2 / 3 или более минут, чтобы закончить выполнение. Но после 1 минуты CRON будут ссылаться на другой инстанции (процесс) выполнить myscript. В таком случае вы думаете, есть вероятность дублирования экземпляра и может создать проблемы. Если есть возможность дублирования может быть ниже shellscript (запустить ее в фоновом режиме) в порядке, который будет проходить каждую 1 минуту. Сценарий будет ссылаться на разные мгновенными после каждой минутой. Код:
#!/usr/bin/bash
while :
do
sleep 60 & pid=$!
/export/home/myscript.sh
wait $pid
done
Не могли бы вы сделать ценные предложения? / / Purple |
|
||||
|
Существует еще одно решение этой проблемы, но вы должны добавить код на свой `myscript.sh". Положите какой-то замок, а ваша программа является runing, например, если ваша программа представляет собой скрипт, вы можете добавить следующие строки: Код:
...
lock=/export/home/.myscript.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15
# Now lock. If lock fails, then propably the program is runing.
mkdir ${lock} || exit 0
...
Here comes the script code
...
# Now unlock, so another instance of this program can run in the future.
rmdir ${lock}
Я предпочитаю этот вид кодирования, в таких случаях, потому что она лучше защитить такого рода программ для запуска overlaping процессов. Итак, как вы предпочитаете CRON или спальный nohup скриптов, процесс уязвим для работы в simultaneus случаях: если вы используете какой-то замок это невозможно. Пока ... |
|
||||
|
Вы можете попробовать этот способ
#! / USR / BIN / Bash в то время как: делать / экспорта / Home / myscript.sh PID \u003d $! подождите $ PID готово |
|
||||
|
Цитата:
Код:
#!/usr/bin/bash
lock=/export/home/.myscript.sh.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15
mkdir ${lock} || exit 0
...
Here comes my script code
...
rmdir ${lock}
После того, что я могу поставить скрипт Crontab. В этом случае каждая 1 минуту CRON будут ссылаться процесса и дочерний процесс. Но между тем, программы (myscript) может быть запущена с различными процессами и детей процесс ID. право? / / Purple |
|
||||
|
более того,
Пусть говорят myscript.sh работает и имеющие ниже процесс ID - Solaris: / home/user1> PS-EF | grep myscript.sh Solaris 25907 10427 0 14:36:50? 0:00 / экспорт / Home / myscript.sh Я поставлю myscript.sh в CRON как 1-минутный интервал. Таким образом, каждый интервал 1 минута Solaris снова запустить myscript.sh. Считаете ли вы, что ОС Solaris может попытаться assing следующей myscript.sh с procss ID 25907 (что свидетельствует перекрывающиеся)? procss ID 25907-прежнему работает ..... |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|