我想在 ubuntu 停止 wpa_supplicant

I want to stop wpa_supplicant on ubuntu

我想在 ubuntu 14.04 停止 wpa_supplicant

我确实关注了,但是 wpa_supplicant 被某人重新启动了。

$ ps aux | grep wpa

root      4947  0.0  0.0  30628  4968 ?        Ss   09:41   0:00 /sbin/wpa_supplicant -B -P /run/sendsigs.omit.d/wpasupplicant.pid -u -s -O /var/run/wpa_supplicant

$ sudo kill 4947

$ ps aux | grep wpa

root      5458  0.0  0.0  30628  4996 ?        Ss   09:55   0:00 /sbin/wpa_supplicant -B -P /run/sendsigs.omit.d/wpasupplicant.pid -u -s -O /var/run/wpa_supplicant 

我想知道谁重新启动请求者并永久停止wpa_supplicant。因为我正在尝试测试另一个版本 wpa_supplicant.

sudo pkill wpa_supplicant

通常对我有用。您是否正在寻找其他东西?

蛮力的方法是通过重命名来破解wpa_supplicant。任何试图启动的东西都不会再找到它。

$ which wpa_supplicant 
/sbin/wpa_supplicant

$ sudo mv /sbin/wpa_supplicant /sbin/wpa_supplicant_org

$ sudo killall wpa_supplicant

我得到的结果是 wpa_supplicant 不能再重启了。

此方法有一些注意事项:

  • 更新可能会再次修复程序包。
  • 使用此方法无法手动启动wpa_supplicant

就我而言,我有一项服务正在启动它。 我在 systemd 配置目录中做了一个 grep

cd /etc/systemd/system 
grep -ri wpa 

这向我显示了启动此服务的名称。

使用以下命令停止它

sudo systemctl stop <service-name>

如果您想永久禁用它,请删除服务文件中的 "WantedBy" 行。

关闭 wpa_supplicant 的干净方法是

wpa_cli terminate

有时您需要指定接口,如

wpa_cli terminate -i wlan0

在 Ubuntu 20.04

systemctl stop wpa_supplicant
systemctl disable wpa_supplicant

第二个命令将阻止它自动启动。

wpa_supplicant 提供 WPA 安全性。任何处理 wifi 网络的网络管理器(例如网络管理器、netctl 等)都将使用 wpa_supplicant。因此,每当网络管理器启动时,它都会启动 wpa 请求者。 如果您想永久禁用它(因为您可能不使用 wifi 或安全 wifi),那么您可以屏蔽它。

 sudo systemctl mask wpa_supplicant.service

然后停止它:

sudo systemctl stop wpa_supplicant.service

注意:屏蔽基本上会创建指向 /dev/null 的符号链接,因此即使某些服务试图启动它也不会启动。这将禁用它,直到您再次手动取消屏蔽它。

sudo systemctl unmask wpa_supplicant.service