
У меня есть несколько команд, которые я запускаю, rc.local
поэтому они запускаются последними в последовательности запуска. Я хотел бы узнать, есть ли аналогичная возможность отмены результатов этих команд при завершении работы, как rc.shutdown
. В идеале, она должна запускаться перед любыми другими /etc/init.d
скриптами.
решение1
На самом деле нет (по крайней мере, насколько мне известно).
Если у вас есть сценарии инициализации в стиле SystemV, вы можете создать что-то вроде /etc/rc6.K00scriptname
и /etc/rc0.d/K00scriptname
, которые должны выполняться до любых других сценариев.
решение2
ArchLinuxесть /etc/rc.local.shutdown
файл для этого. Я не уверен насчет других дистрибутивов
решение3
Это, как правило, возможно, но зависит от системы init-scripts, которая у вас есть. Если ваш дистрибутив использовал последнюю версиюOpenRC(как это делает Gentoo), вы можете поместить любые скрипты в /etc/local.d/
, вызвать их <something>.stop
, и они будут запущены при завершении работы системы. Для более старых версий вам придется поместить свои команды в local_stop()
функцию в /etc/conf.d/local
.
Порядок зависит от настроек rc-системы, но обычноместныйСкрипты запускаются последними при запуске и первыми при завершении работы.
решение4
ВГенту«локальный» скрипт делает именно то, что вы просите: он запускает определенные указанные пользователем команды при «запуске» и другой набор команд при «остановке».