我正在用 Raspberry Pi 製作一個選取框,其中選取框的映像位於 USB 記憶棒上,而選取框的 Python 檔案位於 Raspberry Pi 本身上(運行 Raspbian 的 RPi Zero W)。我正在嘗試使用 systemd 和 .services 檔案來實現此目的教學Pi 啟動後立即運行字幕。
不過,我認為該程式是在掛載 USB 之前運行的,因為日誌說找不到 USB 上的檔案。如何讓 .service 檔案等到 USB 掛載後再執行 python 程式?
這是 myscript.service 程式:
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/pi/Documents/base.py > /home/pi/Documents/myscript.log 2>&1
[Install]
WantedBy=multi-user.target
我要等的USB是
/media/pi/0850-9F0E/
我聽說RequiresMountsFor
過類似的東西,但我不知道如何使用它。我是 Linux 技術的新手。
答案1
這也花了我一段時間才弄清楚,但是這個線給了我答案。用於systemctl status
顯示單位。就您而言,它可能會類似於media-pi-0850-9F0E.mount
.
只需告訴您的服務在安裝後啟動即可:
After=multi-user.target media-pi-0850-9F0E.mount