Асинхронный init.d сценарий

Я задаюсь вопросом, возможно ли для сценария запуска работать непрерывно в Ubuntu. То, что я имею в виду, является чем-то как сценарий сервера Minecraft, который постоянно работает так, чтобы, если сервер отказывает по некоторым причинам, я мог выполнить команду снова и перезагрузить его. Так в основном у меня была бы команда для выполнения моего сервера Minecraft в некоторое время цикле.

0
задан 24 March 2017 в 19:48

2 ответа

Я закончил тем, что нашел это , который ответил на мой вопрос.

0
ответ дан 3 November 2019 в 14:02

Существует несколько способов сделать это. Этот ответ является тем, который я лично предпочитаю. Это - быстрый-и-грязный ответ. Но от Вашего вопроса, я заключаю, что это - все, что Вы ищете.

1 Создают сценарий, который делает вещь, которую Вы хотите в цикле. Например:

while [ 1 ]; do
    echo `date` >> /some/file/somewhere
    sleep 1
done

2 Создают второй сценарий проверки, чтобы видеть, работает ли первый сценарий. В противном случае выполнение это:

VAR=`ps -ef |grep "name_of_script_1" |wc -l`
#VAR returns 1 if not running (because grep returns itself), 
#    2 if it is running.  
if [ "${VAR}" -eq "1" ]; then
    /run/script/1 &
fi

3 Запущенных второй скрипт в кроне на некотором интервале, как каждые 5 минут

*/5 * * * * root /run/script/2

Так, каждые 5 минут, script2 проверки, чтобы видеть, работает ли сценарий 1. Если это не работает, это запускает его и бросает его в фон.

существует много статей в Интернете для помощи с определенными элементами (выполняющий что-то в кроне, в то время как/если синтаксис, помещая программу в фон, и т.д. Но это должно получить Вас близко к тому, что Вы ищете.

1
ответ дан 3 November 2019 в 14:02

Другие вопросы по тегам:

Похожие вопросы: