Долгосрочный скрипт udev в Ubuntu 16.04

В Ubuntu 14.04 у меня есть долго работающий bash-скрипт с простым правилом udev, который прекрасно работает следующим образом:

ACTION=="change", SUBSYSTEM=="block", RUN+="/opt/script.sh"

В Ubuntu 16.04 дела идут не так хорошо. Сценарий начинает выполняться, но затем его убивают до его завершения. Затем я попытался изменить свое правило udev, чтобы вызвать скрипт warapper, который бы отключил скрипт. Я попытался:

#!/bin/sh
nohup /opt/script.sh  &

Затем я попытался:

#!/bin/sh
/opt/script.sh | at now

Безрезультатно.

Затем я попытался создать сервис systemd ...

ACTION=="change", SUBSYSTEM=="block", ENV{SYSTEMD_WANTS}=="justrunthescript.service"

/etc/systemd/system/justrunthescript.service

[Unit]
Description=Just run the script

[Service]
ExecStart=/opt/script.sh

В какой-то момент я запустил скрипт, но мой скрипт использует параметры udev, такие как $ ID_FS_TYPE, которые не пройти таким образом.

Я думаю, что то, что я хочу, довольно просто, просто вставьте диск и запустите мой скрипт из правила udev и не убивайте сценарий. Какой лучший способ пойти по этому поводу?

4
задан 11 November 2017 в 05:15

1 ответ

Понял, что мне нужно сделать:

 #!/bin/sh
 echo /opt/script.sh | at now
0
ответ дан 11 November 2017 в 05:15

Другие вопросы по тегам:

Похожие вопросы: