1. 程式人生 > >Unix中init的工作__處女篇部落格

Unix中init的工作__處女篇部落格

        來CSDN一年多兩年了,也是我工作年齡,哈哈~~每天都會來逛,現在,終於想到要寫部落格了。主要是自己比較懶,哈哈~~因為有些東西自己總是重複去網上查,還是寫自己的部落格好,可以經常檢視,也能幫助下其他人。

       最近系統學習linux各個方面,主要是系統管理和網路程式設計。

===================================================================================================================================

       在開機時,首先進行核心引導,嘩啦嘩啦的資訊一滾而過,想要再次看看?可以。不過,這個資訊接近300行,可以重定向到一個檔案再去看看。

       dmesg > startup_info.txt

       注意了,dmesg檢視的引導資訊是最近一次開機的,重新開機會被重置。而Soralis則相反。

       好了,引導完了,到init程序上場了。學過Linux的都知道,和Unix一樣,所有程序的老大都是init程序,它負責所有核心繫統功能的有序啟動(和關閉),而且,它還為程序賦予許可權。我們可以控制Linux在核心啟動後,進入哪一個執行級別。

        我用的是Red Hat Enterprise 5版本,用命令看看inittab下是什麼內容:< cat -n /etc/inittab >

     1  #
     2  # inittab       This file describes how the INIT process should set up
     3  #               the system in a certain run-level.
     4  #
     5  # Author:       Miquel van Smoorenburg, <
[email protected]
> 6 # Modified for RHS Linux by Marc Ewing and Donnie Barnes 7 # 8 9 # Default runlevel. The runlevels used by RHS are: 10 # 0 - halt (Do NOT set initdefault to this) 11 # 1 - Single user mode 12 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 13 # 3 - Full multiuser mode 14 # 4 - unused 15 # 5 - X11 16 # 6 - reboot (Do NOT set initdefault to this) 17 # 18 id:3:initdefault: 19 20 # System initialization. 21 si::sysinit:/etc/rc.d/rc.sysinit 22 23 l0:0:wait:/etc/rc.d/rc 0 24 l1:1:wait:/etc/rc.d/rc 1 25 l2:2:wait:/etc/rc.d/rc 2 26 l3:3:wait:/etc/rc.d/rc 3 27 l4:4:wait:/etc/rc.d/rc 4 28 l5:5:wait:/etc/rc.d/rc 5 29 l6:6:wait:/etc/rc.d/rc 6 30 31 # Trap CTRL-ALT-DELETE 32 ca::ctrlaltdel:/sbin/shutdown -t3 -r now 33 34 # When our UPS tells us power has failed, assume we have a few minutes 35 # of power left. Schedule a shutdown for 2 minutes from now. 36 # This does, of course, assume you have powerd installed and your 37 # UPS connected and working correctly. 38 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" 39 40 # If power was restored before the shutdown kicked in, cancel it. 41 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" 42 43 44 # Run gettys in standard runlevels 45 1:2345:respawn:/sbin/mingetty tty1 46 2:2345:respawn:/sbin/mingetty tty2 47 3:2345:respawn:/sbin/mingetty tty3 48 4:2345:respawn:/sbin/mingetty tty4 49 5:2345:respawn:/sbin/mingetty tty5 50 6:2345:respawn:/sbin/mingetty tty6 51 52 # Run xdm in runlevel 5 53 x:5:respawn:/etc/X11/prefdm -nodaemon

        可以看到,有7種啟動模式可以選擇,但是,正如註釋所說,第0和6種不要設為預設啟動執行級別。這裡我設的是第三級別,進入命令列模式的完全多使用者模式,我之所以這樣設定,是因為懶得在vmware下切換滑鼠,啟動linux後,就不管它了,然後我用的windows下的ssh軟體去登入操作,這樣更方便學習。

        在23到29行,分別有對應各種不同啟動模式的啟動指令碼,對於系統管理員可以去看看裡面的指令碼,裡面配置了進入對應級別啟動和禁止的服務等。

        我們試著進入這個目錄看看:cd /etc/rc.d/rc3.d ,然後看看裡面有什麼:ll

lrwxrwxrwx 1 root root 24 Jul 22 22:13 K02avahi-dnsconfd -> ../init.d/avahi-dnsconfd
lrwxrwxrwx 1 root root 16 Jul 22 22:13 K02dhcdbd -> ../init.d/dhcdbd
lrwxrwxrwx 1 root root 24 Jul 22 22:15 K02NetworkManager -> ../init.d/NetworkManager
lrwxrwxrwx 1 root root 34 Jul 22 22:15 K02NetworkManagerDispatcher -> ../init.d/NetworkManagerDispatcher
lrwxrwxrwx 1 root root 16 Jul 22 22:14 K05conman -> ../init.d/conman
lrwxrwxrwx 1 root root 19 Jul 22 22:13 K05saslauthd -> ../init.d/saslauthd
lrwxrwxrwx 1 root root 19 Jul 22 22:16 K10dc_server -> ../init.d/dc_server
lrwxrwxrwx 1 root root 16 Jul 22 22:14 K10psacct -> ../init.d/psacct
lrwxrwxrwx 1 root root 19 Jul 22 22:16 K12dc_client -> ../init.d/dc_client
lrwxrwxrwx 1 root root 15 Jul 22 22:16 K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 13 Jul 22 22:14 K20nfs -> ../init.d/nfs
lrwxrwxrwx 1 root root 15 Jul 22 22:15 K20rwhod -> ../init.d/rwhod
lrwxrwxrwx 1 root root 14 Jul 22 22:14 K24irda -> ../init.d/irda
lrwxrwxrwx 1 root root 15 Jul 22 22:16 K25squid -> ../init.d/squid
lrwxrwxrwx 1 root root 13 Jul 22 22:16 K35smb -> ../init.d/smb
lrwxrwxrwx 1 root root 19 Jul 22 22:18 K35vncserver -> ../init.d/vncserver
lrwxrwxrwx 1 root root 17 Jul 22 22:20 K35winbind -> ../init.d/winbind
lrwxrwxrwx 1 root root 16 Jul 22 22:16 K36mysqld -> ../init.d/mysqld
lrwxrwxrwx 1 root root 20 Jul 22 22:13 K50netconsole -> ../init.d/netconsole
lrwxrwxrwx 1 root root 13 Jul 22 22:16 K50tux -> ../init.d/tux
................................
................................
 
lrwxrwxrwx 1 root root 16 Jul 22 22:14 S28autofs -> ../init.d/autofs
lrwxrwxrwx 1 root root 15 Jul 22 22:14 S44acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root 15 Jul 22 22:14 S50hplip -> ../init.d/hplip
lrwxrwxrwx 1 root root 14 Jul 22 22:14 S55sshd -> ../init.d/sshd
lrwxrwxrwx 1 root root 14 Jul 22 22:13 S56cups -> ../init.d/cups
lrwxrwxrwx 1 root root 16 Jul 22 22:16 S56xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root 18 Jul 22 22:13 S80sendmail -> ../init.d/sendmail
lrwxrwxrwx 1 root root 13 Jul 22 22:12 S85gpm -> ../init.d/gpm
lrwxrwxrwx 1 root root 15 Jul 22 22:13 S90crond -> ../init.d/crond
lrwxrwxrwx 1 root root 13 Jul 22 22:18 S90xfs -> ../init.d/xfs
lrwxrwxrwx 1 root root 17 Jul 22 22:12 S95anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root 13 Jul 22 22:13 S95atd -> ../init.d/atd
lrwxrwxrwx 1 root root 15 Jul 22 22:15 S97rhnsd -> ../init.d/rhnsd
lrwxrwxrwx 1 root root 22 Jul 22 22:14 S97yum-updatesd -> ../init.d/yum-updatesd
lrwxrwxrwx 1 root root 22 Jul 22 22:13 S98avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root 19 Jul 22 22:15 S98haldaemon -> ../init.d/haldaemon
lrwxrwxrwx 1 root root 19 Jul 22 22:15 S99firstboot -> ../init.d/firstboot
lrwxrwxrwx 1 root root 11 Jul 22 22:13 S99local -> ../rc.local
lrwxrwxrwx 1 root root 16 Jul 22 22:15 S99smartd -> ../init.d/smartd
        可以看到,開標頭檔案主要有“K”和“S”兩種,下面說明其作用:

        Start with "K":同進程相關的指令碼在進入指定的執行模式時候終止,以stop引數呼叫

        Start with "S":同進程相關的指令碼在進入指定的執行模式時候終止,以start引數呼叫

         注意到,它們都是連結檔案,為什麼這麼做呢?假如我們不小心刪除了rc.d目錄下的檔案,在init.d目錄下的檔案還在,這樣可以避免誤操作。因此,假如我們自己建立執行shell指令碼的話,也應該首先在init.d目錄下寫好shell指令碼,再在rc.d對應執行級別上建立連結檔案。

相關推薦

Unixinit工作__處女部落

        來CSDN一年多兩年了,也是我工作年齡,哈哈~~每天都會來逛,現在,終於想到要寫部落格了。主要是自己比較懶,哈哈~~因為有些東西自己總是重複去網上查,還是寫自己的部落格好,可以經常檢視,也能幫助下其他人。        最近系統學習linux各個方面,主要是

人生第一部落——Tensorflow.hub模組的應用圖片分類的重訓練(源於文件原始碼)

1. tf.gfile.LIstDirectory(filename) 返回資料夾(filename)的列表,類似於listdir,子資料夾只會返回資料夾名。 2. tf.image.decode_jpeg(jpeg_data,channels = depth) jpeg_data = tf.

我的第一部落--ScrollView巢狀自定義ListView顯示不全的解決方案

之前在開發過程中遇到過ScrollView巢狀ListView的開發需求,如果listview的item高度固定的話,可以通過繼承listview進行重寫onMeasure()方法可以完美解決滑動衝突等問題,程式碼如下: public class ChildListVie

第一 部落:java從資料庫讀取資料,並寫入到excel表格

  今天,組長分配了查詢資料庫記錄,並把這些記錄寫入到excel表格中,以前沒有嘗試過,借鑑了一些別人的程式碼,最終實現了功能,寫一篇部落格,總結一下這個過程。1.準備需要用到的jar包    1.jxl.jar     2.mysql-connector-java-5.1.

如何在csdn寫一部落

一.進入我的部落格 1.進入網址 2.註冊、登入 3. 點選部落格進入“我的部落格” 現在進入到了“我的部落格” 二.編輯部落格 1.點選上圖的寫新文章,即可編輯 2.點選上面的小圖示,選中輸入語言後可插入程式碼 ‘ 3.你可能會遇到如下提示

CSDN第一部落,找工作日記第一

今天結束了UC公司的幾輪面試,不確定能否拿到offer,但回顧近幾天的校招情況,比起十一之前不順利的過程來說的確讓人欣慰了很多。最近考了很多公司的筆試,也面過4399、UC、TP-LINK等等,峰迴路轉地明天還要參加百度的面試,當然還有菲音遊戲。總結自己,技術方面,在面試和

第一部落--工作感想

憋了好久,一直想寫一些技術部落格,但是無奈每當一寫就覺得自己太low,還差的太遠,想來想去第一篇還是寫寫工作中的感想吧,以後每週一篇技術部落格,歡迎大家關注。 到今天也工作工作兩年多了,至今已經換了三份工作,雖然面很廣了,但是一樣技術也沒沉澱紮實。 第一份工

一個國企工作兩年的混吃等死人轉行JAVA後臺的第一部落

        以前用的CSDN已經忘記登入名稱和密碼了,以前也想著是每週記錄2次以上的情況來證明自己的成長,畢業後的一系列決定讓自己措手不及。這裡所說的國企是“中國移動”,或許也不能說為國企吧!兩年的工作心情有點低落和自己想象中的畢業生活又點出入,工作簡單重複大部分是協調和

部落帶你輕鬆應對java面試的多執行緒與高併發

1. Java執行緒的建立方式 (1)繼承thread類 thread類本質是實現了runnable介面的一個例項,代表執行緒的一個例項。啟動執行緒的方式start方法。start是一個本地方法,執行後,執行run方法的程式碼。       (2)實現runnable

我的第一部落之js的XXXX年XX月XX日 星期[日一-六] [上下]午 XX時:XX分

<!DOCTYPE html> <html>     <head> <title>test</title>    &nbs

第一部落:京東集團java研發實習面經

注:今天在牛客網看了一位大牛的面經,也可以說是2018年的總結。深有感觸,再看看我的部落格簡直是浪費了部落格這個交流平臺,所以也準備追尋大牛的腳步,分享和記錄一些學習中學到的知識和心得。 大牛面經傳送門: https://www.nowcoder.com/discuss/137593?t

開始我的第一部落---之python學習001

筆者開始學習python,目標是要做python介面自動化和爬蟲等,給自己定個目標希望可以實現。筆者想一點一點的瞭解python而不是寫了一堆程式碼只會除錯而沒有真正的弄懂內部結構是什麼。 這是筆者人生中第一次寫部落格,以後備參考用。 變數:把一個值給一個名字時,ta會儲存在記憶體中,這個名字稱之為變數。

第四部落 CSS Grid 佈局基礎

wcphahaha   CSS Grid 佈局基礎 grid 關鍵詞解釋   grid-template-columns: repeat(3,

第五部落 css長度單位及顏色表示

css長度單位及顏色表示   css的長度單位: px:畫素,絕對單位 em:相對單位,如果用於font-size屬性本身,則是相對於父元素的font-size。若用於其他屬性(width,height),則是相對於本身元素的font-size。所有未

我的第一部落和其中的思考

大四在杭州同花順實習,轉正後,  然後一年後離開了杭州 到了成都 以前不寫部落格也是因為覺得, 技術水平還麼有達到  寫的時間可以學習更多的東西, (每天除了工作10小時, 平均有2小時在自學) 由於工作地方的轉變, 團隊的變化, 整個人的思維也會變化,  &n

來自異次元的一部落

異次元成員介紹 一. 隊名: 異次元 (寓意:二次元和三次元的一次組隊,大家來自不同的次元,那麼會碰撞出怎樣的火花呢?) 二.隊員介紹: 211614331 王誠榮(他是組長) 211614354 陳斌 (前端組組員) 211605242 楊慧德(前端組組員) 211601

小碼農的第一部落--Java web ServletConfig物件

Java Web ServletConfig物件 ServletConfig物件 演示案例1 關於Servletconfig物件 XML配置資訊 程式碼實現 ServletConf

第一部落——一切的開始

2018-11-14 “凡不能毀滅我的,必使我強大” ——尼采 1、初二上學期期中考試考完的晚上 一個非常難過的晚上 我的理科全盤皆崩,特別是數學,最後兩道題的最後一小問全部沒有做完 2、NOIP2018考後第三天晚上 Day1第三題根本沒有做出來,Day2看

STL之vector--第一部落

  STL(Standard Template Library)是C++的標準模板庫,方便靈活地使用STL將節省大量工作,減少不必要寫的程式碼。接下來我們來看看STL裡動態陣列vector的使用。 當我們不確定陣列的大小,開個大陣列又擔心浪費空間時,我們就需要了解了解神奇的動態陣列了。而STL裡

怎樣將word的圖片插入到CSDN部落

目前大部分的部落格作者在用Word寫部落格這件事情上都會遇到以下3個痛點: 1.所有部落格平臺關閉了文件釋出介面,使用者無法使用Word,Windows Live Writer等工具來發布部落格。使用Word寫部落格需要在第三方部落格平臺註冊帳號,且需要第三方部落格平臺提供API介面。目前的有的部落格平臺均已