在啟動 Linux 系統并登錄的過程中到底發生了什么事情。按下開機鍵或啟動一個虛擬機,你就啟動了一系列事件,之后會進入到一個功能完備的系統中,有時,這個過程不到一分鐘。當你注銷或者關機時,也是這樣。
更有意思的是,在系統啟動以及用戶登錄或注銷時,還可以讓系統執行特定的操作。
本文,我們將探討一下在 Linux 操作系統中實現這些目標的傳統方法。
注意:我們假定使用的是 Bash 作為登錄及注銷的主 Shell。如果你使用的是其他 Shell,那么有些方法可能會無效。如果有其他的疑問,請參考對應的 Shell 文檔。
在啟動時執行 Linux 腳本
有兩種傳統的方法可以實現在啟動時執行命令或腳本:
方法 #1 - 使用 cron 任務
除了常用格式(分 / 時 / 日 / 月 / 周)外,cron 調度器還支持 @reboot 指令。這個指令后面的參數是腳本(啟動時要執行的那個腳本)的絕對路徑。
然而,這種方法需要注意兩點:
a) cron 守護進程必須處于運行狀態(通常情況下都會運行),同時
b) 腳本或 crontab 文件必須包含需要的環境變量(如果有的話,參考 StackOverflow 獲取更多詳細內容)。
方法 #2 - 使用 /etc/rc.d/rc.local
這個方法對于 systemd-based 發行版 Linux 同樣有效。不過,使用這個方法,需要授予 /etc/rc.d/rc.local 文件執行權限:
在登錄或注銷時執行 Linux 腳本
要在登錄或注銷時執行腳本,分別需要使用 ~.bash_profile 和 ~.bash_logout 文件。多數情況下,后者需要手動創建。在每個文件的底部,添加調用腳本代碼,如前面例中所示,就可以實現這個功能。
總結
本文主要介紹如何在啟動、登錄以及注銷系統時執行腳本。如果你有其他的方法可以補充,請使用下面的評論給我們指出,我們期待您的回應!
-
Linux
+關注
關注
87文章
11345瀏覽量
210400
發布評論請先 登錄
相關推薦
嵌入式Linux啟動時間優化的秘密之四-啟動腳本
![嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>啟動時</b>間優化的秘密之四-<b class='flag-5'>啟動腳本</b>](https://file.elecfans.com/web1/M00/BA/F2/pIYBAF6eSniAWK7hAABRpE52e64658.png)
Linux中執行shell腳本的兩種方式
![<b class='flag-5'>Linux</b>中<b class='flag-5'>執行</b>shell<b class='flag-5'>腳本</b>的兩種方式](https://file.elecfans.com/web2/M00/7C/AB/pYYBAGN3Rb-ACiyxAAASXapqq1o726.png)
通過JTAG啟動Linux的方法和腳本
![通過JTAG<b class='flag-5'>啟動</b><b class='flag-5'>Linux</b>的<b class='flag-5'>方法</b>和<b class='flag-5'>腳本</b>](https://file1.elecfans.com/web2/M00/B7/D2/wKgaomWE9FuAGlt3AAAJTVenxrE453.png)
評論