嘿,我试图让每次 NetworkManager(或其他什么,但这就是我现在正在谈论的)连接到网络(或更改网络)时运行一个脚本。
我真正想要的是一个 init 目录,每当我的 wifi 接口更改状态/essid 时,它都会触发其中的所有内容。或者“网络状态已更改”运行级别。或者其他什么。
答案1
您没有说明您使用的是哪个发行版,但在 Debian 衍生产品(Ubuntu 等)上,您可以在 中的配置节中指定在接口设置/拆卸过程中各个点调用的脚本/etc/network/interfaces
。您可以指定在以下每个点调用的脚本:
- 准备
- 向上
- 张贴
- 向下
- 预先下降
- 后下
您还可以将脚本放入名为的目录中/etc/network/if-<stage>.d
。
有关详细信息,请参阅man 5 interfaces
。
答案2
NetworkManager 有一个名为 的脚本触发器目录/etc/NetworkManager/dispatcher.d/
。请执行man NetworkManager
以了解如何使用它。
答案3
除了上述建议之外,您还可以设置在网络出现故障时运行的 Upstart 脚本。