2016-02-04 11 views
0

Возможно ли обнаружить остановку/перезагрузку системы в Linux до того, как все сетевые интерфейсы будут остановлены? Я могу обрабатывать сигнал SIGTERM и проверять уровень запуска, но в данный момент сеть, возможно, уже отключена. Мне нужно с функциональностью в моем скрипте Python.Уведомление об отключении/перезагрузке Linux перед отключением сети

ответ

1

При выключении (уровень выполнения 0) или перезагрузка (уровень запуска 6) сценарии вили /etc/rc.d/rc6.d/ соответственно выполняются в порядке. Если вы посмотрите в этих директориях вы будете видеть такие вещи, как:

lrwxrwxrwx. 1 root root 17 Feb 10 2012 K00ipmievd -> ../init.d/ipmievd 
lrwxrwxrwx. 1 root root 16 Feb 25 2013 K01smartd -> ../init.d/smartd 
... 
lrwxrwxrwx. 1 root root 17 Dec 16 13:27 K90network -> ../init.d/network 
... 
lrwxrwxrwx. 1 root root 14 Jul 27 2015 K95rdma -> ../init.d/rdma 
lrwxrwxrwx. 1 root root 18 Jul 27 2015 K99cpuspeed -> ../init.d/cpuspeed 
lrwxrwxrwx. 1 root root 22 Dec 16 13:28 K99lvm2-monitor -> ../init.d/lvm2-monitor 
lrwxrwxrwx. 1 root root 14 Dec 8 2011 K99rngd -> ../init.d/rngd 
lrwxrwxrwx. 1 root root 17 Oct 24 2014 K99sysstat -> ../init.d/sysstat 

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

Вы, вероятно, не хотите напрямую манипулировать этими каталогами, поэтому см. man chkconfig.

EDIT

Я хотел бы добавить, что если ваш Linux является новым достаточно, чтобы иметь systemd все это из окна.