|
|
|
Вопрос про cron
|
|||
|---|---|---|---|
|
#18+
Добрый день. Допустим я прописал в кроне задание, которое должно выполняться каждый час. Т.е. раз в час запускается какой-то скрипт. Теперь, допустим этот скрипт не успевает отрабатывать за час, а работет 1,5 часа. Через час в кроне по расписанию должен опять запуститься этот же скрипт. Отсюда вопрос. Что будет делать крон в этом случае ? Ждать завершения предыдущего задания или запустит этот же скрипт повторно в другом потоке ? И одновременно будут выполняться в системе 2 одних и тех же скрипта ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 10:22:23 |
|
||
|
Вопрос про cron
|
|||
|---|---|---|---|
|
#18+
cron2009, pid file check ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 10:27:32 |
|
||
|
Вопрос про cron
|
|||
|---|---|---|---|
|
#18+
On Tue, 27 Jan 2009 14:27:32 +0700, Ося <nospam@sql.ru> wrote: > Автор: Ося > cron2009, > > pid file check есть такая штука - "семафор" называется например, #!/bin/sh if [ -x /var/run/myfile.pid ];then echo "AAAAAAAAAA!" exit -1 fi echo $$>/var/run/myfile.pid -- Остаюсь искренне Ваш, Станислав Сухолёт Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:54:36 |
|
||
|
Вопрос про cron
|
|||
|---|---|---|---|
|
#18+
Во-первых, надо еще в конце это pid-файл удалить. Но если скрипт свалится, pid-файл останется и в следующий раз скрипт уже не запустится, пока этот самый файл ручками не удалить. Как вариант - допролнительно проверять при запуске, а есть ли такой PID Я же делаю так без PID-файла: #!/bin/bash PROG="script.sh" PR="$(ps -ef |grep -c $PROG)" if [ $PR -ne "1" ]; then echo "`date` - still running previous instance" exit fi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 18:53:21 |
|
||
|
Вопрос про cron
|
|||
|---|---|---|---|
|
#18+
dronNNВо-первых, надо еще в конце это pid-файл удалить. Но если скрипт свалится, pid-файл останется и в следующий раз скрипт уже не запустится, пока этот самый файл ручками не удалить. Как вариант - допролнительно проверять при запуске, а есть ли такой PID Я же делаю так без PID-файла: #!/bin/bash PROG="script.sh" PR="$(ps -ef |grep -c $PROG)" if [ $PR -ne "1" ]; then echo "`date` - still running previous instance" exit fi Попробовал Ваш метод - не получается. Мой скрипт называется, допустим "qqq.sh", но команда ps -ef определяет его как "-bash" Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 08:35:18 |
|
||
|
|

start [/forum/topic.php?fid=25&fpage=132&tid=1486143]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
298ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 634ms |

| 0 / 0 |
