- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在编写两个脚本,一个用于连接到 wifi 网络,另一个用于断开连接。
连接脚本运行良好,但是当我这样做时
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
即使/etc/network/interfaces 中没有关于 wlan0 的内容,接口(interface)也会自动重新连接到网络。
但是,如果我重新启动,wlan0 将不会连接。
这是我为你感兴趣的人编写的脚本
#!/bin/bash
SSID="ssid"
PASSWORD="pass"
CONF_FILE="/etc/wpa_supplicant/$SSID.conf"
if [ -f "$CONF_FILE" ]; then
echo "wpa configuration file already exists"
else
echo "wpa configuration file doesn't exists"
#Generating configuration file
sudo wpa_passphrase $SSID $PASSWORD > $CONF_FILE
#Delete the line containing the password
sudo sed -i '/$PASSWORD/d' $CONF_FILE
fi
#Connecting to network
sudo wpa_supplicant -c $CONF_FILE -i wlan0 &
我认为这是因为 wpa_supplicant 仍在后台运行,有谁知道如何在不知道其 pid 的情况下终止正在运行的 wpa_supplicant 进程?
编辑: 我确认它来自后台运行的 wpa-supplicant。我发现解决它的唯一方法是调用
sudo killall wpa_supplicant
但是这个解决方案并不令我满意,假设我在另一个接口(interface)上运行另一个 wpa_supplicant 实例,我将失去所有网络连接。很确定有更好的方法来终止与此特定接口(interface)关联的进程。我会四处挖掘。希望有人已经遇到过这种情况。
最佳答案
忘记 ifconfig,它也会启动 wpa_supplicant。
而是使用 ip link set wifi0 up
或 ip link set wifi0 down
到 up/down 接口(interface),和 wpa_supplicant
/wpa_cli
连接到网络。
调用请求者示例:wpa_supplicant -i wifi0 -D nl80211 -c/etc/wpa_supplicant/my_wpa_supplicant.conf
您可以直接在 .conf 文件中设置您的网络,或动态添加它们。通过 wpa_passphrase
生成 psk,将输出放入您的 .conf 文件。
network={
ssid="TOPGUN"
#psk="qwerty123"
psk=f910451a8a67c0e061d1a296955ad604b4fe6fb0e442b8a997f350f434e07f00
}
network={
ssid="TOPGUN2"
#psk="qwerty123"
psk=538a2337031c5308082285cee3e433c62aaf49260cbb35768eeb3e6baa2d5191
}
现在您可以使用 wpa_cli 从脚本更改这些网络,就像这样。
wpa_cli -iwifi0 select_network 0
wpa_cli -iwifi0 enable_network 0
和
wpa_cli -iwifi0 select_network 1
wpa_cli -iwifi0 enable_network 1
其中 0 是 .conf 文件中第一个网络的编号,1 是第二个网络。
或者
每次在您的脚本中动态添加网络,这样您就可以更好地控制网络拥有的数字。请记住,这些不是持久性的,应该在每次重新启动系统时运行。
wpa_cli -iwifi0 add_network <-- this command returns number of network which is used in following commands, you should remember returned value
wpa_cli -iwifi0 set_network 0 key_mgmt WPA-PSK
wpa_cli -iwifi0 set_network 0 psk '"qwerty123"'
wpa_cli -iwifi0 set_network 0 ssid '"TOPGUN"'
wpa_cli -iwifi0 select_network 0
wpa_cli -iwifi0 enable_network 0
关于linux - 在 ifconfig wlan0 up 上停止自动连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45217029/
我在我的 windows PC 上安装了 docker。 我打开控制台并输入 docker ps。该命令正常工作。接下来我尝试执行 command if config 但没有找到: $ ifconfi
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
使用 ifconfig,我不仅可以查看 IP 地址,还可以查看设备上的统计信息。例如 eth0 Link encap:Ethernet HWaddr ac:22:0b:7f:fa:cf
1.命令简介 ifconfig(configure a network interface)命令是系统管理员命令,用于查看和配置网络接口。 2.命令格式 ?
ifconfig 命令输出其 flags以文本和数字格式。虽然我可以找到引用 here or there对于数字标志,我找不到任何关于如何解释(屏蔽)数字的指示。 qfe2: flags=110084
我对整个 awk 工具都很陌生,它对我来说似乎真的很复杂。 ifconfig 输出示例: enp2s0f1: flags=4099 mtu 1500 ether xx:xx:xx:x
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭12 年前。 社区 7 个月前审核
我对整个 awk 工具都很陌生,它对我来说似乎真的很复杂。 ifconfig 输出示例: enp2s0f1: flags=4099 mtu 1500 ether xx:xx:xx:x
我想在布局 xml 中为 ifconfig 指定多个值。 mymodule/test.phtml 是否可以为一个 Action 添加以下两个条件? ifconfig="mymodule/g
我搜索了很多 Javascript、C#、ASP.NET 脚本,寻找获取公共(public) IP 和主机名的脚本,但它们都无法获取我的 IP 和主机名,只有那些使用第三方网站来获取信息的脚本来自。
我正在 Android LOllipop 中测试 Relatek Wi-Fi 驱动程序。驱动程序注册为 usbcore: 注册了新的接口(interface)驱动程序 rtl8192du 并且 lsm
我想解析 ifconfig 以便我只剩下分配了 IP 地址的 vlan。我想要来自每个 vlan 的以下数据、接口(interface)名称、IP 地址和 mac 地址(转换格式的 mac)。这些应该
公开共享 Linux 上的 ifconfig 信息有什么危险吗? 最佳答案 如果您的 IP 地址是 IPv4 并且是私有(private)的(192.168.X、127.x、172.17.x、10.x
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我正在编写一个内核模块,它需要有关本地机器接口(interface)的信息,就像通过简单的“ifconfig”命令返回的接口(interface)一样,我已经搜索了很多,但找不到任何东西 最佳答案 您
我需要将命令 ifconfig -a 的结果转换为以下格式 IFACE eth0 192.168.30.8 Ethernet IFACE eth1 212.233.112.171 Ethernet I
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在尝试以这种形式从命令行获取网络接口(interface)列表: "wlan0","eth0","lo" 我不需要按特殊顺序购买它们。 我可以做这个: wlan0,eth0,lo 使用这个 sup
运行带有两个网卡的 Centos 5.11 机器。 一个面向内部网络(私有(private)IP),另一个面向Internet(公共(public)IP)。 因为我们最近遇到了一些问题(ARP 冲突—
我想在 Docker 容器运行期间读取主机的 ifconfig 输出,以便能够解析它并获取 OpenVPN 接口(interface)(tap0)IP 地址并在我的应用程序中处理它。 不幸的是,通过环
我是一名优秀的程序员,十分优秀!