Как дождаться монтирования/подключения USB-флеш-накопителя перед запуском файла .services (systemd)?

Как дождаться монтирования/подключения USB-флеш-накопителя перед запуском файла .services (systemd)?

Я делаю marquee с помощью Raspberry Pi, где изображения для marquee находятся на USB-накопителе, а файл Python, который является marquee, находится на самом Raspberry Pi (RPi Zero W, работающий на Raspbian). Я пытаюсь использовать 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

Связанный контент