手動創建systemctl服務文件
使用systemd服務在Arch Linux開機時運行腳本
在Arch Linux上,你可以通過創建一個systemd服務單元文件來在系統啟動時以root用戶身份運行一個腳本。以下是詳細步驟:
步驟一:創建systemd服務單元文件
-
打開終端并使用你喜歡的文本編輯器(如
vim、nano等)創建一個新的systemd服務單元文件。例如,將文件命名為myscript.service并保存在/etc/systemd/system/目錄下:sudo vim /etc/systemd/system/myscript.service -
在文件中添加以下內容,根據你的腳本路徑和需求進行調整:
[Unit] Description=My Custom Script [Service] Type=simple ExecStart=/path/to/your/script.sh User=root [Install] WantedBy=multi-user.targetDescription:服務的簡短描述。ExecStart:要執行的腳本的完整路徑。User:指定運行腳本的用戶,這里設置為root。WantedBy:指定服務應該在哪個運行級別下啟動,multi-user.target是常用的多用戶文本模式運行級別。
步驟二:重新加載systemd守護進程
在創建或修改systemd服務單元文件后,你需要重新加載systemd守護進程以識別新的或更改過的服務:
sudo systemctl daemon-reload
步驟三:啟用并啟動服務
-
啟用服務,使其在系統啟動時自動啟動:
sudo systemctl enable myscript.service -
手動啟動服務以立即運行它(可選,但通常用于測試):
sudo systemctl start myscript.service -
你可以使用以下命令檢查服務的狀態,確保它正在運行:
sudo systemctl status myscript.service
注意事項
- 確保你的腳本具有可執行權限,否則systemd將無法運行它。
- 如果你的腳本需要訪問網絡資源或依賴于其他服務,你可能需要在
[Unit]部分添加After=和Requires=指令來指定依賴關系。 - systemd服務日志可以通過
journalctl命令查看,例如:journalctl -u myscript.service。

浙公網安備 33010602011771號