подсчет кол-ва процессов программы.

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-20 19:40:35

Приветствую. Проблема в следующем - есть несколько игровых серверов и постоянно падают. решил написать скриптик проверки и запихнуть в крон. Но сама проблема в том, что если выполнять скрипт просто так - все работает нормально, а через крон скрипту кажется, что процессво всегда ноль и он дергает все игровые серваки.

Код: Выделить всё

#!/bin/sh

summ_of_proc=`/usr/bin/su -m css_user -c "/bin/ps -aux | /usr/bin/grep 27015 | /usr/bin/grep -v grep | /usr/bin/grep -v root| /usr/bin/grep srcds_amd | /usr/bin/wc -l"`
game_dir="/usr/games/css_user"
start_script="server"

if [ $summ_of_proc -le 1 ]
then
        echo "Server is down"
        ${game_dir}/${start_script} stop
        sleep 5
        ${game_dir}/${start_script} start
        echo "Server restart complete"
else
        if [ $summ_of_proc -ge 2 ]
        then
                echo "Server is online"
        fi
fi
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Alex Keda » 2010-02-20 20:21:19

подсказка: а вы сделайте окошко где испытываете скрипт минимальной ширины - и даже руками он начнёт дёргать =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-20 21:26:47

Эм, не совсем понял. Нужно строку с грепами разбить переносами строк ?
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Alex Keda » 2010-02-21 10:39:16

ширина системной консоли, в кроне - какая?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-21 19:16:19

не знаю. = (

Сделал вот так, но эффект тот же:

Код: Выделить всё

#!/bin/sh

summ_of_proc=`/usr/bin/su -m css_user \ 
-c "/bin/ps -aux \
| /usr/bin/grep 27015 \
| /usr/bin/grep -v grep \
| /usr/bin/grep -v root \
| /usr/bin/grep srcds_amd \
| /usr/bin/wc -l"`

game_dir="/usr/games/css_user"
start_script="server"

if [ $summ_of_proc -le 1 ]
then
        echo "Server is down"
        ${game_dir}/${start_script} stop
        sleep 5
        ${game_dir}/${start_script} start
        echo "Server restart complete"
else
        if [ $summ_of_proc -ge 2 ]
        then
                echo "Server is online"
        fi
fi
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Alex Keda » 2010-02-21 20:09:07

lissyara писал(а):ширина системной консоли, в кроне - какая?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-21 21:05:19

не знаю, подскажите как посмотреть ?
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Alex Keda » 2010-02-21 22:36:08

Pez! писал(а):не знаю, подскажите как посмотреть ?
даже если подскажу, похоже вам это не поможет =((
но в партизана буду играть до конца =)
===========
вы окно до минимальных размеров делали? скрипт свой в нём запускали?
каков результат? какие выводы?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-21 22:46:12

Сделал минимальный размер какой смог, запустил скрипт и был очень удивлен..... :shock:

Придется пытать партизанов ) Подскажите хоть где искать решение - гугель по запросу "ширина системной консоли" какой-то бред выдает.
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.


Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-22 1:01:38

решил так

Код: Выделить всё

#!/bin/sh

p=`ps -U css_user | grep srcds_amd | wc -l`

game_dir="/usr/games/css_user"
start_script="server"

if [ ${p} -le 1 ]
then
        echo "Server is down"
        ${game_dir}/${start_script} stop
        ${game_dir}/${start_script} start
        echo "Server restart complete"
else
        if [ ${p} -ge 2 ]
        then
                echo "Server is online"
        fi
fi
Но все же расскажите, пожалуйста, почему предыдущий вариант не работал корректно ?
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Alex Keda » 2010-02-22 15:06:58

в некоторых условиях и это вариант будет работать неверно =))
но ход мысли уже пошёл в нужную область.
==========
запустите скрипт с отладкой в окне на весь экран и не на весь, и найдите одно, кардинальное отличие.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-23 17:31:04

Ну как я понял - есть ограничение на длинну команды и если больше какого-то значения (судя по намекам ширины системной консоли) то команда обрезается и выдает не верный результат, но никак не могу найти чемуже равна эта ширина )

подскажите как найти-то ? = )
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Alex Keda » 2010-02-23 21:45:49

ALT+F2
веди символы и посчитай - сколько в строку влезло
=======
а вообще мне надоело.
прочти и заюзай чёнить типа

Код: Выделить всё

ps -auxww
чтобы всегда выводилась полная команда, независимо от размера терминала.
=====
дочего же все ленивые =((
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: подсчет кол-ва процессов программы.

Непрочитанное сообщение Pez! » 2010-02-23 23:39:27

Спасибо, теперь почти разобрался.
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.