Рейтинг:0

Перезагрузка не вызывает «стоп» часть скрипта init.d

флаг cn

У меня есть сценарий, который я хочу выполнить перед выключением или перезагрузкой машины:

/etc/init.d/init.sh

#!/бин/ш
### НАЧАЛО ИНФОРМАЦИИ
# Предоставляет: init.sh
# Обязательное начало: $all
# Обязательная остановка:
# Старт по умолчанию: 2 3 4 5
# Стоп по умолчанию: 0 1 6
# Краткое описание: xxx
# Описание: ххх
### КОНЕЦ ИНФОРМАЦИИ

если [ "$1" = "старт" ]; тогда
  эхо "сообщение журнала"
  su - azureuser -c '/bin/bash /my/script/dir/script1.sh'

  эхо "сообщение журнала"
  su - azureuser -c '/bin/bash /my/script/dir/script2.sh -p "parameter2"'
фи

если [ "$1" = "стоп" ]; тогда
  эхо "сообщение журнала"
  su - azureuser -c '<какая-то команда оболочки>'

  cd /my/script/dir/sub
  ./script3.sh параметр3
  su - azureuser -c 'cd /my/script/dir/sub; ./script4.sh параметр4 --option1 --option2 --option3 какое-то значение'
фи

выход 0

(Я запутал пути и имена файлов, но сохранил общую структуру для этой темы, очевидно, ничего не названо так, как здесь)

Сценарий работает нормально во время запуска, но жалуется, что очистка, которая должна была произойти в останавливаться блокировка не была выполнена, и я не вижу сообщения журнала, созданного в останавливаться заблокировать в системном журнале. Запуск скрипта из командной строки (sudo /etc/init.d/init.sh остановить) работает как шарм с обоими Начало и останавливаться параметры, поэтому я не понимаю, почему он не работает, когда я останавливаю свою машину, почти уверен, что сценарии уровня выполнения запускаются от имени пользователя root.

В моей системе существуют следующие символические ссылки:

/etc/rc0.d/K01init.sh
/etc/rc1.d/K01init.sh
/etc/rc2.d/S99init.sh
/etc/rc3.d/S99init.sh
/etc/rc4.d/S99init.sh
/etc/rc5.d/S99init.sh
/etc/rc6.d/K01init.sh

все указывают на один и тот же скрипт и т.д./инит.д/инит.ш. Основываясь на другой теме, я также пробовал без суффикс, который ничего не изменил.

Разрешения для сценарий1 и сценарий2 оба 750 и для сценарий3 и сценарий4 даже 755.

Где я ошибаюсь? Я использую Ubuntu 18.04, и мой текущий уровень выполнения равен 5 (но это не должно иметь значения, так как здесь должно быть около 0 и 6). Сам сценарий (включая подскрипты) здесь не обсуждается, он отлично работает в другой среде, а ручные запуски приводят к желаемому состоянию в этой среде, поэтому моя настройка (или понимание) сценариев инициализации должна где-то быть неправильной.

Если актуально: я про перезагрузки как через судо перезагрузка и через графический интерфейс Azure (это виртуальная машина), не уверен, что механизм перезагрузки Azure отличается. Ни один из способов не работает.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.