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


Я делаю шатер с малиной Pi, где изображения для выделенной области находятся на USB-накопителе, а файл Python, являющийся шатер, находится на самой малине 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.


2
2017-08-12 23:35


происхождения




ответы:


Мне тоже понадобилось время, чтобы понять, но это нить дал мне ответ. использование systemctl status для показа устройства. В вашем случае это, вероятно, будет чем-то вроде media-pi-0850-9F0E.mount,

Просто сообщите, что ваш сервис начнется после его установки:

After=multi-user.target media-pi-0850-9F0E.mount


0
2018-01-20 00:12