
私の組み込みLinuxボードでは、systemd-networkdを使用してネットワークインターフェイスの設定を管理しています。ネットワークインターフェイスが機能しなくなったときにカスタムアプリケーションを起動/停止するワンタイムスクリプトを起動する必要があります。私が見つけたネットワークディスパッチャーこれは、私の要件には適していますが、どのくらいのリソースが集中しているのか、私の要件に最適なソリューションなのかはわかりません。
代替案はありますか?
systemd-network-wait-onlineを使用してネットワークが起動するのを待つことができますが、私が知っている限り、systemdターゲットの依存関係は起動順序に制限されています。
答え1
現在、私がこの問題を処理する方法は、バックグラウンドで実行され、ネットワーク状態とリンク状態を観察する独自のスクリプトを導入することです。ネットワークがオフラインになったりオンラインになったときにsystemdターゲットを起動および停止します。アプリケーションはこの特定のネットワーク依存関係のターゲットに依存します。
答え2
この問題を解決するためにbashスクリプトを作成しました。https://github.com/waltinator/net-o-matic
接続を監視し、接続が失われた場合は、ユーザーが指定した操作を実行して再接続を試みます。ユースケースに合わせて調整できます。