Я пишу сценарий оболочки в Bash. В какой-то момент сценария он обнаруживает, что перед продолжением необходимо перезагрузить компьютер. Выдает:
sudo reboot
Когда машина возвращается, есть еще работа, которую должен выполнить этот скрипт. Как мне что-то настроить, чтобы продолжить работу в этом скрипте?
Я предполагаю, что есть место, где я могу написать сценарий оболочки, чтобы он выполнялся при следующей перезагрузке. Где такое место? Я вижу, что у cron есть директива @reboot. Я также знаю, что такие службы, как Apache, запускаются при загрузке при помощи upstart. Подойдут ли какие-либо из этих механизмов? Если так, как это будет вызвано?
Этот скрипт нужно запускать только один раз, а не каждую перезагрузку. Так что он должен будет пойти куда-нибудь, что просто запустится при следующей перезагрузке, или сможет удалить себя после запуска.
Этот вопрос спрашивает о том, как сохранить состояние вашего приложения после перезагрузки. В моем сценарии мало состояний, поэтому я могу справиться с этим. Мне просто нужно знать, как заставить этот скрипт запускать что-то после следующей перезагрузки.
Моя конкретная версия - Ubuntu Linux 14.04. Исходный скрипт запускается в командной строке системным администратором (в отличие от запуска из cron).