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