Сценарии инициализации и порядок выключения в centos

Моя текущая проблема заключается в том, что у меня есть процесс, зависший от супервизора, и я хочу убедиться, что он корректно отправляет сеть и т. Д., Но к тому времени, когда супервизор будет отключен, сети нет.

Я отследил это в папке /etc/rc0.d/ здесь. Я вижу, как K90network будет выполняться до S00killall , что требует услуги по выводу из строя, включая супервайзера.

[$ subsys = network] && continue

Итак, я не уверен, как S00killall может когда-либо предотвратить отключение сети, если сеть явно отключена для rc0

I я использую CentOS release 6.8 (Final)

0
задан 20 February 2017 в 17:36
1 ответ

Да, служба network должна быть остановлена ​​на уровне выполнения 0 перед выполнением сценария killall . «Убивающие» K * скрипты выполняются перед «запуском» S * скриптов.

Есть одно исключение, когда у вас есть корневая файловая система, смонтированная через NFS. Сценарий "Killing" network предотвращает остановку сети для обеспечения согласованности корневой файловой системы. Вот секция сценария stop :

stop)
        [ "$EUID" != "0" ] && exit 4
        # Don't shut the network down if root is on NFS or a network
        # block device.
        rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/" && $3 != "rootfs") { print $3; }}' /proc/mounts)
        rootopts=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $4; }}' /etc/mtab)

        if [[ "$rootfs" == nfs* || "$rootopts" =~ _r?netdev ]] ; then
                net_log $"rootfs is on network filesystem, leaving network up"
                exit 1
        fi

Для вашего «зависшего» процесса я бы попытался сделать то же самое. Поместите аналогичное условие, чтобы поддерживать сеть в рабочем состоянии или переупорядочивать сценарии, чтобы данные supervisord останавливались перед вызовом сценария network .

1
ответ дан 4 December 2019 в 16:21

Теги

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