Linux
centos中的初始化腳本和關閉順序
我目前的問題是我有一個掛在 supervisord 的程序,我想確保它正常發送網路存在等。但是當主管被關閉時,沒有網路。
我已將其跟踪到
/etc/rc0.d/
此處的文件夾中,我可以看到在處理關閉服務K90network
之前將如何執行,包括 supervisord。S00killall
我覺得這很奇怪,因為查看S00killall
它有一段程式碼可以避免在需要時關閉網路。
[ $subsys = network ] && continue
所以,我不確定
S00killall
如果網路因 rc0 被顯式關閉,如何防止網路關閉我在用
CentOS release 6.8 (Final)
是的,
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