歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Linux中的兩個問題及目錄組織(2)

  [-F] 在重啟計算機(reboot)時強迫 fsck。 [-time] 設定關機(shutdown)前的時間。    所以,對大多數關不了機的回答就是用shutdown -h 命令。 2.halt 是最簡單的關機命令 其實 halt 就是調用 shutdown -h。halt 執行時,殺死非基本的進程,執行 sync 系統調用,文件系統寫操作完成後就會停止內核。 參數說明:    [-n] 防止 sync 系統調用,它用在用fsck修補根分區之後,以阻止內核用老版本的超級塊(superblock)覆蓋修補過的超級塊。    [-w] 並不是真正的重啟或關機,只是寫 wtmp(/var/log/wtmp)紀錄。    [-d] 不寫 wtmp 紀錄(已包含在選項 [-n] 中)。    [-f] 沒有調用 shutdown 而強制關機或重啟。    [-i] 關機(或重啟)前,關掉所有的網絡接口。    [-p] 該選項為缺省選項。就是關機時調用 poweroff。    3.reboot 差不多跟 halt 一樣,不過它是引發主機重啟,而 halt 是關機。關於它的參數,因為和 halt 差不多,這裡就略去不解。    4.init 是所有進程的祖先,它的進程號始終為 1,所以發送 TERM 信號給 init 會終止所有的用戶進程、守護進程等。shutdown 就是使用這種機制。init 定義了 8 個 runlevel,init 0 為關機,init 1 為重啟。關於 init 可以長篇大論,這裡就不再敘述。另外還有 telinit 命令可以改變 init 的運行級別,比如,telinit -iS 可使系統進入單用戶模式,並且得不到使用 shutdown 時的信息和等待時間。感興趣的讀者可以查閱手冊(The best is the man)。 二、關於kill 許多初學者想用kill殺死某些進程,可是結果是被殺進程還是顯示在 ps 命令的結果中,也就是該進程並沒有被殺死。 談到 kill,當然就不能避免關於信號的討論。信號就是軟件中斷,大多數程序都用信號來發生中斷,比如,ping 命令可用 Ctrl+C 產生的信號發生中斷。當一個進程接受到一個信號時,可能發生以下情況:如果該進程已指定了對該信號的處理例程,內核就調用該例程,然後進行必要的處理;如果沒有指定處理方式,內核就采用缺省的行為。當用戶鍵入 Ctrl+C 時,終端驅動程序接受該字符後,向活動進程發出 SIGINT (終端中斷符)信號。而對該信號的缺省處理就是終止,所以上面的命令 ping 就會終止,否則會無休止地運行下去。關於信號的權威著作是W.Richard Stevens的《UNIX 環境高級編程》,感興趣的讀者可參閱。本文僅說明其中的個別信號,信號名均以 SIG 開頭,故有的地方將其省略。    1.捕獲信號:給該信號指定一個具體的處理例程。例如,捕獲到 CHLD 信號說明子進程已經終止,系統將調用 waitpid 函數以獲取該子進程的 id 和終止信號。    2.忽略信號:防止信號的到達,程序可以請求忽略或阻塞它們。忽略就是被丟棄,而阻塞是排隊等待處理。    3.SIGKILL 和 SIGSTOP 信號:不能被捕獲、忽略、阻塞,這是為了保證系統管理員的權限,使他們有可靠的方法實現終止進程的目的。    因為不帶信號值的 kill 命令不能保證目標進程的消亡,即 TERM 信號被捕獲、忽略、阻塞,所以會產生上面的疑問,現在知道了 kill 信號就不用擔心了,kill -9 pid 就可以解決問題了。 三、關於 Linux 的目錄組織 經常有網友問及 linux 的內核在哪兒,還有很多人記得不太清楚,要經常查找。下面列出標准的目錄含有的內容供查閱。    / 根目錄    /bin 系統最小命令集(/sbin 為系 統管理員所用)    /dev 設備文件目錄    /etc 關鍵的啟動文件和配置文件    /home 用戶主目錄    /lib C編譯器的例程庫    /mnt 掛用其它文件系統的目錄    /proc 所有運行中進程的映像    /root root用戶根目錄    /tmp 每次重啟均會消失的臨時文件    /usr/bin 可執行文件    /usr/doc linux How-to    /usr/etc 系統維護命令    /usr/games 游戲,一樣很精彩    /usr/include C 程序頭文件    /usr/info 版本信息    /usr/lib 標准的 UNIX 程序支持文件


   /usr/local 本地目錄    /usr/man 在線手冊    /usr/src 源文件目錄



Copyright © Linux教程網 All Rights Reserved