gpt4 book ai didi

linux - Ubuntu:WAITING网络连接并执行 bash 命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:27 27 4
gpt4 key购买 nike

在 Ubuntu(最新的发行版很好)中,我想重新启动路由器,在 bash 脚本中我想要一个命令来等待网络链接再次启动,当它检测到时,它必须启动 bash 命令。

我可以通过某种轮询循环来实现这一点,但理想的解决方案是拥有一个 bash 命令,该命令在执行时等待链接建立并自动执行我给它的 bash 命令。

我读了一些关于 dbus 的文章(dbus 似乎是可行的方法),但似乎要花太多时间才能完全理解如何正确使用它。有人建议我检查像 ethtool 这样的工具是否能够执行那种“等待并执行”,但在手册页中我没有找到任何相关信息。

注意:忘记说了,我要的命令是检查链路的PHYSICAL层是否up。因此,不接受在上层工作的解决方案。此外,涉及将脚本放入目录(例如/etc/network/if-up.d)的解决方案也不被接受。


有什么想法吗?

谢谢

最佳答案

我建议的事件监听器:

inotifywait -e modify /sys/class/net/eth0/carrier; echo 'Change detected'

当您插入或拔出网络电缆时,它会触发 echo 'Change detected',当然它可以触发任何东西。

这将一次性运行,但我告诉你如何用它制作一个守护进程,如果没有,这将是一个很好的学习练习:)

关于linux - Ubuntu:WAITING网络连接并执行 bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24548088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com