天天看點

linux下設定自己的程式開機自啟動

1.開機啟動時自動運作程式

Linux加載後, 它将初始化硬體和裝置驅動, 然後運作第一個程序init。init根據配置檔案繼續引導過程,啟動其它程序。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的腳本檔案,可以使init自動啟動其它程式。例如:編輯 /etc/rc.d/rc.local 檔案,在檔案最末加上一行"xinit"或"startx",可以在開機啟動後直接進入X-Window。

2.登入時自動運作程式

使用者登入時,bash首先自動執行系統管理者建立的全局登入script :/etc/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",運作"crontab cronFile"指令後,每當元月23日上午9:00系統自動執行"HappyBirthday"的程式("*"表示不管當天是星期幾)。

在/etc/rc.local中加入程式啟動語句 ----- 開機自啟動

在~/.bash_profile中加入程式啟動語句  ---- 登陸自啟動

在~/.bashrc 中加入程式啟動語句 ---- 打開終端時自啟動

另外:

1. 如果是一個帶圖形界面的程式,尤其是要依賴于GTK的程式,必須要在gnome啟動以後再啟動。具體做法可以是在~/.barsh_profile中加入要執行的檔案即可。或者在gnome-session中加入也可以,甚至可以是在登入之前加入都沒有問題;

2. 如果是一個沒有圖形界面的程式,可以在/etc/rc.local檔案中加入,也可以自己寫一個服務,放置在/etc/rc.d/init.d目錄下,然後修改服務,使其每次啟動時都自動啟動即可。

下面就是我的一個例子

demo是我的程式編譯出的可執行檔案,是帶有gtk界面的,是以寫在~/.bash_profile裡面

install.sh 和unstall.sh是安裝腳本和解除安裝腳本

[[email protected] binbin]#ls
 demo install.sh unstall.sh
[[email protected] binbin]# cat install.sh
#!/bin/bash
echo "cd /root/binbin/" >> ~/.bash_profile 
echo "./demo&" >> ~/.bash_profile            

此處注意,“&”很重要,因為是設定demo背景運作,否則系統啟動時會卡在demo的運作,然後就不往下繼續啟動了

繼續閱讀