您好,登錄后才能下訂單哦!
這篇文章主要介紹“ubuntu中/etc/rc.local和/etc/init.d/rc.local的區別是什么”,在日常操作中,相信很多人在ubuntu中/etc/rc.local和/etc/init.d/rc.local的區別是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ubuntu中/etc/rc.local和/etc/init.d/rc.local的區別是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
前言
我們在ubuntu下要把一個程序加入開機啟動,一般可以通過修改rc.local來完成,但ubuntu下有兩個rc.local文件。分別是/etc/rc.local和/etc/init.d/rc.local。可以看一下兩個文件的內容找到他倆的關系:
/etc/init.d/rc.local #! /bin/sh ### BEGIN INIT INFO # Provides: rc.local # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Run /etc/rc.local if it exist ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/init/vars.sh . /lib/lsb/init-functions do_start() { if [ -x /etc/rc.local ]; then [ "$VERBOSE" != no ] && log_begin_msg "Running local boot scripts (/etc/rc.local)" /etc/rc.local ES=$? [ "$VERBOSE" != no ] && log_end_msg $ES return $ES fi } case "$1" in start) do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) ;; *) echo "Usage: $0 start|stop" >&2 exit 3 ;; esac
從注釋可以看出該腳本運行在2 3 4 5的啟動級別,只能處理start的參數,然后執行start,如果有/etc/rc.local文件的話則執行/etc/rc.local。如果要把開機啟動的程序放/etc/init.d/rc.local文件里,記住千萬別一股腦寫文件最后面就行了,因為在case語句塊里腳本就會退出。
/etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0
這個腳本里面基本沒有內容,就是寫個模板讓你放開機自啟動程序的。把你的程序寫在exit 0行的前面就行了。
所以要添加開機啟動項,只需在/etc/rc.local文件中添加就行了。
ubuntu的啟動級別: 0 關機 1 單用戶 2-5 多用戶圖形界面 6 重啟
對應每個啟動級別,/etc/目錄下都對應一個像/etc/rc5.d/這樣的目錄,下面是一些腳本,這些腳本基本都是對應/etc/init.d/目錄下的軟鏈接,命名里面的數字代表優先級,啟動時這些腳本都會執行一遍。
備注:我的系統為ubuntu 15.04
到此,關于“ubuntu中/etc/rc.local和/etc/init.d/rc.local的區別是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。