1、Ubuntu添加開機自動啓動程序的方法ubuntu
1. 開機啓動時自動運行程序bash
Linux加載後, 它將初始化硬件和設備驅動, 而後運行第一個進程init。init根據配置文件繼續引導過程,啓動其它進程。一般狀況下,修改放置在網絡
/etc/rc或app
/etc/rc.d 或ide
/etc/rc?.dpost
目錄下的腳本文件,可使init自動啓動其它程序。例如:編輯/etc/rc.d/rc.local 文件(該文件一般是系統最後啓動的腳本),在文件最末加上一行「xinit」或「startx」,能夠在開機啓動後直接進入X-Window。學習
2. 登陸時自動運行程序spa
用戶登陸時,bash先自動執行系統管理員創建的全局登陸script :server
/ect/profile隊列
而後bash在用戶起始目錄下按順序查找三個特殊文件中的一個:
/.bash_profile、
/.bash_login、
/.profile,
但只執行最早找到的一個。所以,只需根據實際須要在上述文件中加入命令就能夠實現用戶登陸時自動運行某些程序(相似於DOS下的Autoexec.bat)。
3. 退出登陸時自動運行程序
退出登陸時,bash自動執行我的的退出登陸腳本
/.bash_logout。
例如,在/.bash_logout中加入命令「tar -cvzf c.source.tgz *.c」,則在每次退出登陸時自動執行 「tar」 命令備份 *.c 文件。
4. 按期自動運行程序
Linux有一個稱爲crond的守護程序,主要功能是週期性地檢查 /var/spool/cron目錄下的一組命令文件的內容,並在設定的時間執行這些文件中的命令。用戶能夠經過crontab 命令來創建、修改、刪除這些命令文件。
例如,創建文件crondFile,內容爲「00 9 23 Jan * HappyBirthday」,運行「crontabcronFile」命令後,每當元月23日上午9:00系統自動執行「HappyBirthday」的程序(「*」表示無論當天是星期幾)。
5. 定時自動運行程序一次
定時執行命令at 與crond 相似(但它只執行一次):命令在給定的時間執行,但不自動重複。at命令的通常格式爲:at [ -f file ] time ,在指定的時間執行file文件中所給出的全部命令。也可直接從鍵盤輸入命令:
$ at 12:00
at>mailto Roger -s ″Have a lunch″ < plan.txt
at>Ctr-D
Job 1 at 2000-11-09 12:00
2000-11-09 12:00時候自動發一標題爲「Have a lunch」,內容爲plan.txt文件內容的郵件給Roger.
Ubuntu下添加開機啓動腳本
Ubuntu開機以後會執行/etc/rc.local文件中的腳本,因此咱們能夠直接在/etc/rc.local中添加啓動腳本。
固然要添加到語句:exit 0 前面才行。
如:
sudo vi /etc/rc.local
而後在 exit 0 前面添加好腳本代碼。
後續有空再研究下添加一個Ubuntu的開機啓動服務看看。
若是要添加爲開機啓動執行的腳本文件,可先將腳本複製或者軟鏈接到/etc/init.d/目錄下,而後用:update-rc.d xxx defaults NN命令(NN爲啓動順序),將腳本添加到初始化執行的隊列中去。
注意若是腳本須要用到網絡,則NN需設置一個比較大的數字,如98 。
一、方法一:
這種也是最經常使用的一種 rcconf:
功能更全的:sysv-rc-conf
sudo apt-get install sysv-rc-conf
運行:sysv-rc-conf
這個改起來很簡單,本身試一下就知道了.
二、方法二:
直接改/etc/rc0.d ~ /etc/rc6.d和/etc/rcS.d下的東西,S開頭的表示啓動,K開頭的表示不啓動,例如:想關閉vsftpd的開機自動啓動,只需sudo mv /etc/rc2.d/S20vsftpd /etc/rc2.d/K20vsftpd就能夠了。
這條命令的用意就是利用mv的重命名功能。
三、方法三:
chkconfig,這種方法在redhat,Debian裏面比較經常使用,在fedora和ubuntu裏面用方法1比較簡單,可是學習一下這種方法也是不錯的。
但在ubuntu下這個命令沒有redhat好用,總是出錯.
算了,仍是直接看一下redhat裏面chkconfig的用法吧.
(1)chkconfig --level [0123456] [service name] [on|off]
chkconfig --level 23 dhcp3-server off ----設定dhcp server服務在level2,3下關閉.
(2)chkconfig --list 查看服務的自動開啓狀態
(3)chkconfig --add 增長一個服務給chkconfig來管理,可是該服務必須在/etc/init.d內。