В Linux есть ли эквивалент rc.local для завершения работы?


10

У меня есть несколько команд, которые я запускаю, rc.localпоэтому они запускаются последними в последовательности запуска. Я хотел бы знать, есть ли аналогичная возможность отмены результатов этих команд при завершении работы, например rc.shutdown. В идеале, он должен выполняться перед любым другим /etc/init.dсценарием.


3
Это сильно зависит от распределения. Пожалуйста, добавьте информацию о вашем распространении.
rozcietrzewiacz

Ответы:


8

Не совсем (по крайней мере, насколько мне известно).

Если у вас есть сценарии инициализации в стиле SystemV, вы можете создать что-то в духе /etc/rc6.K00scriptnameи /etc/rc0.d/K00scriptname, что должно быть выполнено до выполнения любых других сценариев.



2

Обычно это возможно, но зависит от вашей системы init-scripts. Если в вашем дистрибутиве используется последняя версия OpenRC (как это делает Gentoo), вы можете вставить любые скрипты /etc/local.d/, вызвать их, <something>.stopи они будут запущены при выключении системы. Для более старых версий вы должны поместить свои команды внутри local_stop()функции /etc/conf.d/local.

Порядок зависит от настроек rc-системы, но обычно локальные сценарии запускаются последними при запуске и первыми при выключении.


1

Если у вас есть upstart, вы можете перехватить событие завершения работы и запустить скрипт, когда он будет перехвачен.


1

В Gentoo «локальный» скрипт выполняет именно то, что вы просите: он запускает определенные пользователем команды при «старте» и другой набор команд при «остановке».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.