gpt4 book ai didi

linux - Wifi 在 init.d 脚本运行前断开连接

转载 作者:太空宇宙 更新时间:2023-11-04 12:39:01 25 4
gpt4 key购买 nike

我设置了一个简单的 init.d 脚本“S3logrotate”以在关机时运行。 “S3logrotate”脚本在从命令行手动运行时工作正常,但脚本在关闭时无法正常运行。

脚本将日志从我的 PC 上传到 Amazon S3 存储桶并需要 wifi 才能正常运行。

调试证明脚本确实运行了,但是上传过程失败。

我发现问题似乎是脚本似乎在 wifi 终止后运行。

这些是我用来在脚本中测试互联网连接的 block 。

if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then
echo "IPv4 is up" >> *x.txt*
else
echo "IPv4 is down" >> *x.txt*
fi

if ping -q -c 1 -W 1 google.com >/dev/null; then
echo "The network is up" >> *x.txt*
else
echo "The network is down" >> *x.txt*
fi

这个 block 的输出是:

IPv4 is down
The network is down

有什么方法可以设置 init.d 脚本的优先级吗?比如,我可以让我的脚本在网络连接终止之前运行吗?如果没有,是否有替代 init.d 的方法?

我使用 Ubuntu 16.04,如果重要的话,我会使用 Windows 10 双启动。

谢谢,

sganesan7

最佳答案

你应该把你的票据放在:

/etc/NetworkManager/dispatcher.d/pre-down.d

将组和所有者更改为 root

chown root:root S3logrotate

它应该可以工作。如果您需要为单独的界面放置脚本执行此操作

在里面创建一个脚本

/etc/NetworkManager/dispatcher.d/

并命名(例如):

 wlan0-down  

应该也可以。

关于linux - Wifi 在 init.d 脚本运行前断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40775416/

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