Как запустить интерактивный скрипт перед завершением работы сервера?

Каждый раз, когда я выключаю или перезагружаю свой ноутбук (Ubuntu 14.04), я хотел бы запустить скрипт, который проверяет, внедрил ли я свой самый новый код в мой удаленный репозиторий git. Если я забуду это, то он откроет терминал, попросит пользователя ввести сообщение фиксации и отбросит изменения. У меня уже есть скрипт.

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

Мой подход до сих пор с System V Init (да , Я знаю, что это немного устарело):

Я копирую сценарий инициализации с заголовком LSB в /etc/init.d: ​​

sudo cp ~/git_checker /etc/init.d/

, изменить права доступа:

sudo chmod a+x /etc/init.d/git_checker

и настроить сценарии выполнения:

sudo update-rc.d /etc/init.d/git_checker defaults

Когда я тестирую этот скрипт с помощью sudo service git_checker start, Я получаю сообщение об ошибке: «Не удалось разобрать аргументы: не удается открыть отображение:«

. Узнав об этом, я обнаружил, что сценарии инициализации не должны использоваться для открытия терминалов (например: su user -c 'x-terminal-emulator -e /home/user/git_check.sh'), поскольку сервер X не гарантированно запускается при выполнении сценариев инициализации.

Таким образом, сценарии инициализации выглядят неправильно. Есть ли другой способ? Может быть, с upstart или systemd?

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

1
задан 19 March 2016 в 20:52

0 ответов

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

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