Чат

🕑 ↗
За да пишеш, трябва да си влязъл в профила си.

Проблем с авто стартиране na скрипт на IPBox99

Започната от Чарли28, 04-12-2011, 18:32

« назад - напред »

0 Потребители и 1 гост преглеждат тази тема.

spaice

Цитат на: Чарли28;132373Благодаря за скрипта! Понеже Линукса ми е малко тъмна наука би ли обяснил по-подробно действието на командата "while [1]" т.е. на мястото на "команда" и "команда1" - какво точно да се напише?
Стартиращата команда, която работи е "start-stop-daemon -S -x /var/sbin/spcs -b". С каква команда в скрипта даден от теб може да се направи проверка дали е активен процеса: /var/sbin/spcs и ако не е активен тогава да се стартира отново?
 
Благодаря отново!;;650

While  е цикъл, който се изпълнява докато условието в скобите е истина. Тъй като условието е 1-ца т.е. истина цикъла става безкраен. Цифрата сле sleep определя колко да се чака в секунди. командите в цикъла (команда1, команда2) се изпълняват на всяка интерация (завъртане).

Команда, с която може да се видят процесите е "ps" (без кавичките).
В твоя случай би трябвало да изглежда нещо като
Цитатps ax | grep spcs |grep -v grep
Тази команда ще върне резултат ако го има процеса spcs

За да завършим задачката, трябва да поставим едно условие if в цикъла.
if да провери дали го има процеса и ако го няма да го стартира, нещо от сорта:
Цитатwhile [ 1 ]
do
tmp=`ps ax | grep spcs |grep -v grep`
if [ $tmp -le 1 ];
then
start-stop-daemon -S -x /var/sbin/spcs -b
fi
sleep 60
done
Трябва да се провери колко са процесите spcs при нормална работа и да се зададе правилната стойност в "-le 1"
"-le 1" означава по-малко или равно на 1

Разбира се това е само пример, не мога така да гарантирам за правилната му работа.

Чарли28

#16
ЦитатТрябва да се провери колко са процесите spcs при нормална работа и да се зададе правилната стойност в "-le 1"
"-le 1" означава по-малко или равно на 1

Супер си! ;;684
 
При старт или рестарт на spcs - дава че има три активни pids съответно с техните номера. Означава ли това че процесите са три?
 
Довечера ще пробвам примерният ти скрипт и ще докладвам резултата.:g035(1):

spaice

Цитат на: Чарли28;132385При старт или рестарт на spcs - дава че има три активни pids съответно с техните номера. Означава ли това че процесите са три?
 

Вероятно са 3, но най-добре със "ps ax" ги виж, даже виж цялата команда
ps ax | grep spcs |grep -v grep
какво ще ти даде.

SatShop.bg
Ъплоуд център DishPointer Сателитни изстрелвания