eth0が起動/中断されるたびにシステムサービスを実行したいと思います(別の稼働/中断サービスかもしれません)。この値は、イーサネットが接続されているときに変更する必要があります。誰でもこれを達成する方法を知っていますか?
X秒ごとにポーリングするbashスクリプトを書くことができますが、それはおそらく私が望むよりも多くのCPUを消費し、実装がきれいではないかもしれません。
どんな提案でも歓迎します。ありがとうございます!
ベストアンサー1
イーサネット稼働/中断イベント(およびその他)は、netlinkソケットを介してカーネルによって報告されます。ip monitor
ポーリングを避けるために、シェルスクリプトで使用できるメッセージを使用してメッセージを表示できます。
また、Debianには少なくとも1つのパッケージがあることがわかりました。ネットワークプラグは、netlinkメッセージを受信し、リンクの追加、アップリンク、およびダウンリンクでシェルスクリプトを実行するデーモンプロセスです。その後、シェルスクリプトを使用してsystemctl
デバイスを起動/停止できます。
(おそらく、ネットワーク管理者とsystemd-networkdもこれらのイベントを受け取り、スクリプトをリンクする方法があるかもしれませんが、使用していないようです)。