Intereting Posts
bash: регулярные выражения в выражении if Создание нестандартных разделов LVM во время установки (Debian)? Заполнение вкладки bash не работает в & & redirection Что означает «охватывающие файлы» при помощи Manpage? Распечатайте n-ю строку перед совпадающей строкой, строка соответствия и n-я строка из согласованной строки Могу ли я перенести существующую систему openSUSE на использование шифрования диска? 2 дистрибутива / 1 ПК: могу ли я приостановить один из них, а затем загрузиться во второй? требуемый результат не достигается с помощью сценария bash Устройство Intel® Wireless 7265 зависает под нагрузкой Аудит размера PDF-данных для контента Необязательный выбор шрифта Fontconfig по умолчанию, как он определяется в конфигурациях XML? Не удалось найти в документации Есть ли способ вызвать команду с установленным временным лимитом и убить ее, когда это время пройдет? Как выполнить сжатие слоя поверх шифрования поверх BtrFS, для каждого файла? Не удается загрузить при перемещении Linux с одного сервера на другой – UEFI Задача Cron за каждую минуту выходить из строя?

Тайм-аут скриптов с использованием USBMount

Я использую Usbmount ( https://github.com/rbrito/usbmount ) в системе raspbian, чтобы автоматически обнаружить вставку и удаление USB-накопителя в устройство, а затем запустить сценарий из / etc / usbmount / mount.d / соответственно.

Скрипты работают нормально, но проблема заключается в том, что скрипты останавливаются в середине операций копирования при запуске с использованием Usbmount. Если они запускаются из командной строки, они работают нормально.

Это, по-видимому, проблема тайм-аута udevd. В syslog говорится:

usbmount[835]: executing command: run-parts /etc/usbmount/mount.d systemd-udevd[802]: timeout: killing '/usr/share/usbmount/usbmount add' [835] systemd-udevd[802]: '/usr/share/usbmount/usbmount add' [835] terminated by signal 9 (Killed) 

У моего usbmount.conf установлен значение по умолчанию. USB-накопитель – FAT32.

Каков наилучший способ обойти эту проблему?

Я решил проблему, используя команду at. В инструментах можно запланировать выполнение задач в данный момент времени, в нашем случае мы будем использовать «сейчас» время для его немедленного запуска.

Если у вас нет установленной команды, вам необходимо установить ее:

 sudo apt-get install at 

Затем создайте текстовый файл со списком команд, которые вы хотите запустить без тайм-аута, разделенных новыми строками, и назовите его, как хотите, скажем, «команда». Затем добавьте эту строку в сценарий usbmount:

 at -f command now 

Он должен избегать таймаута таким образом.