Scroll to navigation

SHUTDOWN(8) Linux System Administrator's Manual SHUTDOWN(8)

NAME

shutdown - 關閉系統

總覽 SYNOPSIS

/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]

描述 DESCRIPTION

shutdown 以一種安全的方式關閉系統。所有登陸用戶都可以看到關機信息提示,並且 login(1) 將被阻塞。可以指定立刻關機,也可以指定系統在一定的延時後關機。所有進程都將接收到 SIGTERM 信號。這可以使 vi(1) 等程序有時間將處於編輯狀態的文件進行存儲,郵件和新聞程序進程則可以將所有緩衝池內的數據進行適當的清除等等。 shutdown 通過通知 init 進程,要求它改換運行級別來實現。運行級別 0 用來關閉系統,運行級別 6 用來重啓系統,運行級別 1 用來使系統進入執行系統管理任務狀態,如果沒有給出 -h-r 標誌時,這是 shutdown 命令的默認工作狀態。具體關機或重啓所執行的操作請查閱 /etc/inittab 文件中相應的運行級別欄。

選項 OPTIONS

-a
使用 /etc/shutdown.allow 來驗證身份。
-t sec
通知 init(8) 在轉換到其它運行級別前,發送警告 (warning) 信號後延時 (sec) 秒數後再發送關閉 (kill) 信號。
-k
並非真正關機,只向所有人顯示警告信息。
-r
重啓。
-h
停機。
-n
[DEPRECATED(不應再使用)] 不調用 init(8) 程序進行關機操作,而由自己進行。不建議用戶使用這種關機方式,它的結果一般也不是你希望的那樣。
-f
重啓時跳過磁盤檢測。
-F
重啓時強制磁盤檢測。
-c
取消運行中的 shutdown 進程。不可能爲此選項指定 time 參數,但你可以在命令行輸入一條解釋消息來向所有用戶說明。(一般的shutdown指令可以用按“+”號來進行中斷)
time
關機時間。
warning-message
發送給所有用戶的消息。

time 參數的格式可以有很多種。首先,可以是 hh:mm 格式的絕對時間,其中 hh 指的是小時(一到二位數),mm 指的是分鐘(二位數)。第二種是 +m 格式,其中 m 指的是等待的分鐘數。 now+0 的別名。

如果 shutdown 在調用時使用了延時,它將自動創建一個諮詢 (advisory) 文件 /etc/nologin ,作用是禁止 login(1) 允許新用戶登陸,除非 shutdown 在向 init 發信號前意外中止 (就是說,它被取消或出了什麼問題)。它會在調用 init 改變運行級之前刪除這個文件。

-f 標誌意味着 `快速重啓'。這將創建一個諮詢 (advisory) 文件 /fastboot ,此文件在系統重啓時會被檢測到。啓動腳本 rc 會檢測是否存在這樣的文件,如果有,就不會再運行 fsck(1),因爲系統是以正常方式關閉的。這之後,啓動進程會刪除 /fastboot

-F 標誌意味着 `強制 fsck'。這將創建一個諮詢 (advisory) 文件 /forcefsck,此文件在系統重啓時會被檢測到。啓動腳本 rc 會檢測是否存在這個文件,如果有,就運行 fsck(1) 並且加上一個特殊的 `force' 標誌,以使得即使正常卸載的文件系統也被檢查。這之後,啓動進程會刪除 /forcefsck

-n 標誌導致 shutdown 不調用 init 程序進行關機,而是自己關閉所有運行中的進程。shutdown 接下來會關閉配額 (quota),記賬 (accounting) 和交換分區,卸載所有文件系統。

訪問控制 ACCESS CONTROL

如果在 /etc/inittab 文件中有適當的條目,當按下特殊鍵 CTRL-ALT-DEL 時,shutdown 可以被 init(8) 調用。這意味着可以物理地接觸到終端鍵盤的任何人都可以關閉系統。要避免這種行爲,shutdown 可以檢測是否有授權的用戶登錄到了虛擬終端之一。如果 shutdown 在調用時帶有 -a 參數 (可以將它添加到 /etc/inittab 中 shutdown 的執行命令之後),它將檢測是否存在 /etc/shutdown.allow 文件。接下來它比較文件中的登錄名與虛擬終端的登錄用戶列表 (在/var/run/utmp)。只有當授權的用戶之一 或者 root 登錄了,它纔會繼續。否則,它會把信息

shutdown: no authorized users logged in

寫到 (物理的) 系統終端。/etc/shutdown.allow 的格式是每行一個用戶名。允許出現空行和註釋行 (以 # 開頭)。此文件當前有最多 32 個用戶的限制。

注意,如果 /etc/shutdown.allow 不存在,-a 參數將被忽略。

文件 FILES

/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

注意 NOTES

很多用戶忘記了傳遞 time 參數,結果被 shutdown 產生的錯誤消息所迷惑。time 參數是必須的,90% 的情況下這個參數會是 now

Init 只能在終端模式捕獲 CTRL-ALT-DEL 並且啓動 shutdown。如果系統正在運行 X window System,X 服務器處理所有的按鍵。一些 X11 環境使得捕獲 CTRL-ALT-DEL 成爲可能,但是這個事件究竟做了什麼依賴於那個環境。

Shutdown 沒有被設計爲使用 setuid。/etc/shutdown.allow 不用來找出誰在執行 shutdown ,它*只*用來檢查當前在終端 (之一) 登錄的用戶。

作者 AUTHOR

Miquel van Smoorenburg, miquels@cistron.nl

參見 SEE ALSO

fsck(8), init(8), halt(8), poweroff(8), reboot(8)

[中文版維護人]

所羅門 <solomen@email.com.cn>

[中文版最新更新]

Nov 21 2000

《中國linux論壇man手冊頁翻譯計劃》:

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
Juli 31, 2001