Arch-Linux
Arch Linux 啟動後一分鐘執行腳本
我已經用 netctl 在 eth0 和 wlan0 之間架起了一座橋。如果我告訴它在啟動時配置 eth0 和 wlan0,然後讓我在啟動後手動啟動網橋,它工作正常。如果我告訴網橋也自動啟動,但由於某種原因,WLAN 適配器沒有連接到接入點。因此,我需要在整個系統完成啟動後執行一分鐘左右的“netctl start bridge”。知道我應該怎麼做嗎?
PS。這是一個無頭系統,因為沒有 xorg,所以在 xorg 啟動時執行它是行不通的。
Arch 使用 systemd 來管理啟動程序(以及守護程序等)。
您可以編寫一個腳本來簡單地執行您想要的命令,或者休眠一分鐘然後執行。然後按照說明將其添加到啟動過程中
如果添加睡眠:
#!/bin/sh sleep 60 # one min netctl start bridge
它應該工作得很好。Systemd 在執行您的腳本時應該生成另一個程序,因此它不應該讓您的系統掛起。
您可以使用 systemd 計時器在啟動後一分鐘執行腳本。
首先,創建服務文件(/etc/systemd/system/myscript.service):
[Unit] Description=MyScript [Service] Type=simple ExecStart=/usr/local/bin/myscript
然後創建計時器(/etc/systemd/system/myscript.timer):
[Unit] Description=Runs myscript one minute after boot [Timer] # Time to wait after booting before activation OnBootSec=1min Unit=myscript.service [Install] WantedBy=multi-user.target
現在啟用並執行它:
# systemctl enable myscript.timer # systemctl start myscript.timer