linux開機(jī)自啟動命令
用戶想要在linux開機(jī)的時(shí)候自啟動相關(guān)的程序。那我們要怎么設(shè)置呢?下面由學(xué)習(xí)啦小編為大家整理了linux下開機(jī)自啟動命令的相關(guān)知識,希望對大家有所幫助!
linux下開機(jī)自啟動命令
1.開機(jī)啟動時(shí)自動運(yùn)行程序
Linux加載后, 它將初始化硬件和設(shè)備驅(qū)動, 然后運(yùn)行第一個進(jìn)程init。init根據(jù)配置文件繼續(xù)引導(dǎo)過程,啟動其它進(jìn)程。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的腳本文件,可以使init自動啟動其它程序。
例如:編輯 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在開機(jī)啟動后直接進(jìn)入X-Window。
擴(kuò)展:其他情況下linux自啟動程序命令
2.登錄時(shí)自動運(yùn)行程序
用戶登錄時(shí),bash首先自動執(zhí)行系統(tǒng)管理員建立的全局登錄script :/etc/profile。然后bash在用戶起始目錄下按順序查找三個特殊文件中的一個:/.bash_profile、/.bash_login、 /.profile,但只執(zhí)行最先找到的一個。
因此,只需根據(jù)實(shí)際需要在上述文件中加入命令就可以實(shí)現(xiàn)用戶登錄時(shí)自動運(yùn)行某些程序(類似于DOS下的Autoexec.bat)。
3.退出登錄時(shí)自動運(yùn)行程序
退出登錄時(shí),bash自動執(zhí)行個人的退出登錄腳本/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",則在每次退出登錄時(shí)自動執(zhí)行 "tar" 命令備份 *.c 文件。
4.定期自動運(yùn)行程序
linux有一個稱為crond的守護(hù)程序,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令文件的內(nèi)容,并在設(shè)定的時(shí)間執(zhí)行這些文件中的命令。用戶可以通過crontab 命令來建立、修改、刪除這些命令文件。
例如,建立文件crondFile,內(nèi)容為"00 9 23 Jan * HappyBirthday",運(yùn)行"crontab cronFile"命令后,每當(dāng)元月23日上午9:00系統(tǒng)自動執(zhí)行"HappyBirthday"的程序("*"表示不管當(dāng)天是星期幾)。 (/etc/crontab中配置命令即可)也可以
5.定時(shí)自動運(yùn)行程序一次
定時(shí)執(zhí)行命令at 與crond 類似(但它只執(zhí)行一次):命令在給定的時(shí)間執(zhí)行,但不自動重復(fù)。at命令的一般格式為:at [ -f file ] time ,在指定的時(shí)間執(zhí)行file文件中所給出的所有命令。也可直接從鍵盤輸入命令:
6.創(chuàng)建開機(jī)自啟動腳本
1) 將你的啟動腳本復(fù)制到 /etc/init.d目錄下
以下假設(shè)你的腳本文件名為 test。
2) 設(shè)置腳本文件的權(quán)限
$ sudo chmod 755 /etc/init.d/test
3) 執(zhí)行如下命令將腳本放到啟動腳本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中數(shù)字95是腳本啟動的順序號,按照自己的需要相應(yīng)修改即可。在你有多個啟動腳本,而它們之間又有先后啟動的依賴關(guān)系時(shí)你就知道這個數(shù)字的具體作用了。該命令的輸出信息參考如下:
update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸載啟動腳本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令輸出的信息參考如下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test