【发布时间】:2016-02-04 13:17:36
【问题描述】:
是否可以在所有网络接口停止之前在 Linux 中检测系统关闭/重启?我可以处理 SIGTERM 信号并检查运行级别,但此时网络可能已经关闭。我需要 Python 脚本中的功能。
【问题讨论】:
标签: python linux shutdown reboot
是否可以在所有网络接口停止之前在 Linux 中检测系统关闭/重启?我可以处理 SIGTERM 信号并检查运行级别,但此时网络可能已经关闭。我需要 Python 脚本中的功能。
【问题讨论】:
标签: python linux shutdown reboot
在关机(运行级别 0)或重新启动(运行级别 6)时,/etc/rc.d/rc0.d/ 或 /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。
我应该补充一点,如果您的 Linux 足够新,可以拥有 systemd,那么所有这些都不会发生。
【讨论】:
systemd处理这个问题吗?