Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Добрый день, 
Имеется Keenetic omni  c OPKG и установленной entware.
Набросал скрипт с бесконечным циклом внутри.
из консоли работает замечательно.
поместил в автозагрузку в init.d с именем S96script.
Стартует при загрузке , но исполняется от 1 до десяти циклов и выгружается. следов причины не видно.
Сократил скрипт до пустого цикла, - та же картина.

 

#!/bin/sh
sleep=15
while true
do
sleep $sleep
done

Как победить?
Спасибо.

Опубликовано (изменено)

Попробуйте установить пакет opkg install bash

Концы строк в файле должны быть обязательно LF

Я всё делаю через WinSCP через sftp

#!/bin/sh
sleep=1
while true
do
sleep $sleep
echo Success!
done

Всё работает

Изменено пользователем PHP
Опубликовано

Уважаемый PHP,
Вы скрипт ставили в автозагрузку?
Если да, то как? (У меня в init.d с именем S96script)
Консоль работает нормально, в фоне - падает.
 

PS установка opkg install bash не помогла.
Кстати, в init.d  лежит и исполняется при загрузке rc.unslung , умираем с ним одновременно. (видно в top).

Опубликовано

Извините ошибся, это Вам нужно поставить задание в Планировщик заданий cron в Entware

Ставил 1 вариант для теста отправки почты, работает.

Предположу что Вам надо написать задание как то так

*/1 * * * * /opt/etc/init.d/s96script

в s96script код скрипта.

Опубликовано

Уважаемый PHP,
Вы скрипт ставили в автозагрузку?
Если да, то как? (У меня в init.d с именем S96script)
Консоль работает нормально, в фоне - падает.
 

PS установка opkg install bash не помогла.
Кстати, в init.d  лежит и исполняется при загрузке rc.unslung , умираем с ним одновременно. (видно в top).

 

B результате, виноват именно rc.unslung!
 

 

загрузкой и выгрузкой из init.d рулит скрипт rc.unslung
вот его нутро:


#!/bin/sh

PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Start/stop all init scripts in /opt/etc/init.d including symlinks
# starting them in numerical order and
# stopping them in reverse numerical order

#logger "Started $0${*:+ $*}."

ACTION=$1
CALLER=$2

LD_LIBRARY_PATH=""

if [ $# -lt 1 ]; then
    printf "Usage: $0 {start|stop|restart|reconfigure|check|kill}\n" >&2
    exit 1
fi

[ $ACTION = stop -o $ACTION = restart -o $ACTION = kill ] && ORDER="-r"

for i in $(/opt/bin/find /opt/etc/init.d/ -perm '-u+x' -name 'S*' | sort $ORDER ) ;
do
    case "$i" in
        S* | *.sh )
            # Source shell script for speed.
            trap "" INT QUIT TSTP EXIT
            #set $1
            #echo "trying $i" >> /tmp/rc.log
            . $i $ACTION $CALLER
            ;;
        *)
            # No sh extension, so fork subprocess.
            $i $ACTION $CALLER
            ;;
    esac
done

 

Уважаемый PHP! Ваш вариант с cron, оказался рабочим! 
Большое спасибо.!

ВЫВОД: не ставить в init.d , если не хотим, чтобы скрипт исполнился 1 раз при загрузке или перемонтировании флешки. Кстати, имяфайла должено начинаться с S.

Опубликовано

S с большой буквы это чтобы файл стартовал в автозагрузке, если не надо чтобы стартовал то с маленькой или вообще с другой буквы.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.