天天看點

如何在Linux實作自動運作程式

1、開機啟動時

  Linux加載後, 它将初始化硬體和裝置驅動, 然後運作第一個程序init。

  init根據配置檔案繼續引導過程,啟動其它程序。通常情況下,修改放置在 /etc/rc或 /etc/rc.d ( /etc/rc?.d) 目錄下的腳本檔案,可以使init自動啟動其它程式。

/etc/rc:This file is responsible for starting/stopping services when the runlevel changes

例如:

  編輯 /etc/rc.d/rc.local 檔案,在檔案最末加上一行"xinit"或"startx",可以在開機啟動後直接進入X-Window。

2、登入時

Q:bash啟動時,會進行初始化,初始化就是執行一些腳本,有哪些腳本呢?

A:分2種情況

①登入時啟動的bash,登入shell

初始化腳本執行順序:/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc

#如果這些腳本中的變量發出沖突,那麼以最後一個腳本的設定生效。

②登入後啟動的bash,非登入shell

初始化腳本執行順序:~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

注意:這些腳本中不要亂增加内容。例如:在腳本中增加echo,這會導緻每次登入都輸出echo(常用惡作劇)。

3、登出時

  登出時,bash自動執行個人的登出腳本.bash_logout。

  在/.bash_logout中加入指令"tar -cvzf c.source.tgz *.c",則在每次登出時自動執行 "tar" 指令備份 *.c 檔案。

4、定期自動運作程式

①使用at指令調用atd程序設定在某個特定的時間,執行一次性任務。

②使用crontab指令調用crond程序,設定按固定的周期(如每天、每周等)重複執行預先計劃好的任務。

繼續閱讀