/dev/serial が設定される前にサービスが開始されます。これを防ぐ方法は?

/dev/serial が設定される前にサービスが開始されます。これを防ぐ方法は?

複数のユーザーが起動し、いくつかのシリアルデバイスを使用して多くのタスクを実行するサービスがあります。最初に行うことの1つは、目的のシリアルデバイスを検索して開くことです。シリアルデバイスは入って行くため、開いたデバイスは設定可能で、最初は/dev/serial/by-idを介してループを回して設定パターンと一致するものを探します。

時には起動時に一致するものが見つからないことがあります。後でサーバーを再起動すると、そのサーバーが見つかります。

内容が含まれるまで、poll /dev/serialなどの奇妙な操作をコードで実行できますが、これは気取らず人種差別的な感じです。 /dev/serial/by-id 設定が完了するまでサービスの開始を延期したいと思います。どうすればいいですか?

システムの起動時にそのエントリがない場合、サービスはそのエントリなしで実行され続けると予想されます。したがって、検出がいつ完了するかを知る必要があります。検出が表示されるまで繰り返すことはできません。たぶんそうではないかもしれません。

ベストアンサー1

誰もこれを行う方法がわからないようで、結局私は定期的に/dev/serial/by-idをチェックし、そこで見つけたものを収集するためのブレークスレッドを作成しました。効果がありますが、そうしなければならないというのは面倒です。誰かが知っているなら、より良い方法にまだ興味があります。

おすすめ記事