私はUSBmountを使用しています(https://github.com/rbrito/usbmount)は、Raspbianシステムが自動的にデバイスからUSBスティックの挿入と取り外しを検出し、それに応じて/etc/usbmount/mount.d/フォルダにあるスクリプトを実行します。
スクリプトはうまく実行されますが、問題はUsbmountを使用して実行するとコピー操作中にスクリプトが停止することです。コマンドラインから実行すると正常に動作します。
udevdタイムアウトの問題のようです。システムログには次のように表示されます。
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です。
この問題を解決するための最良の方法は何ですか?
答え1
atコマンドを使用して問題を解決しました。 atツールは与えられた時間にタスクが実行されるようにスケジュールすることができます。
atコマンドがインストールされていない場合は、それをインストールする必要があります。
sudo apt-get install at
次に、タイムアウトなしで実行するコマンドのリストを含むテキストファイルを作成し、改行で区切り、「コマンド」などの目的の名前を指定します。次に usbmount スクリプトに次の行を追加します。
at -f command now
これによりタイムアウトは発生しません。