|
|
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Задача заключается в следующем: Необходимо в shell скрипте, перед выполнением основного кода, осуществить проверку, того, что данный скрипт на сервере запущен в одном экземпляре (из которого и осуществляется проверка). Если да (т.е. один он)- то продолжить выполнение, если нет - то остановить выполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 13:45:57 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
например, флаговый файл. При старте скрипта создавать, а при окончании скрипта и перезагрузке машины удалять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 13:50:06 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
miksoftнапример, флаговый файл. При старте скрипта создавать, а при окончании скрипта и перезагрузке машины удалять.в файл надо класть pid, и ps|grep проверять есть такой процесс или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 13:59:47 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис miksoftнапример, флаговый файл. При старте скрипта создавать, а при окончании скрипта и перезагрузке машины удалять.в файл надо класть pid, и ps|grep проверять есть такой процесс или нет.Если скрипт должен выполняться в каждый момент времени строго в одном экземпляре , то в этом нет необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 14:03:40 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
С файлом не совсем надежно. Его может кто нибудь случайно удалить. pidno=$(ps -aef | grep ${psname}) В pidno сливается вся информация о процессах с именем psname. И теперь надо, просто грамотно подсчитать количество вхождений ${psname}. Если вхождений больше 1 значит запущен уже процесс и наоборот. А как правильно подсчитать количество вхождений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 14:11:29 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
BraboosС файлом не совсем надежно. Его может кто нибудь случайно удалить.Для этого существуют всякие права, группы, пользователи и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 14:35:14 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
BraboosС файлом не совсем надежно. Его может кто нибудь случайно удалить. pidno=$(ps -aef | grep ${psname}) В pidno сливается вся информация о процессах с именем psname. И теперь надо, просто грамотно подсчитать количество вхождений ${psname}. Если вхождений больше 1 значит запущен уже процесс и наоборот. А как правильно подсчитать количество вхождений? # ps -ef | grep $psname | wc дальше что делать сам придумай... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 14:56:38 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
тогда уж: ps -ef|grep $psname|grep -v grep|wc -l ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 15:15:09 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
тоже не супернадежно. Кто мешает сделать шельник с таким же именем и запустить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 15:36:45 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
яб таки проверял и лок файл и пид... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. хотя атомарности здесь явно нет... вообще есть `man lockfile`, но если тот лок вовремя не удалить тоже ничего хорошего не получится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 16:17:59 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо! Cделал так: pidno=`ps -aef | grep ${psname} | wc -l` а дальше уже обработаю $pidno. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 17:08:21 |
|
||
|
Как определить запущен shell скрипт или нет?
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис miksoftнапример, флаговый файл. При старте скрипта создавать, а при окончании скрипта и перезагрузке машины удалять.в файл надо класть pid, и ps|grep проверять есть такой процесс или нет. Не по ps|grep, а по kill -0 $pid - если процесс есть, то ответ даст 0, а если нет, то ошибку (не ноль). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 07:34:54 |
|
||
|
|

start [/forum/topic.php?fid=25&gotonew=1&tid=1488564]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 388ms |

| 0 / 0 |
