与 systemd 服务中的 wpa_supplicant 控制套接字通信时 wpa_cli 命令超时的原因是什么?

与 systemd 服务中的 wpa_supplicant 控制套接字通信时 wpa_cli 命令超时的原因是什么?

wpa_cli我正在python 程序中运行命令来检查 wifi 状态。检查实用程序是否可以与请求者进程通信的正常命令是:

/sbin/wpa_cli -iwlext ping

当我手动运行程序或手动测试上面的命令时,这工作得很好。

当我从上面的命令启动进程时,systemd在进程内部运行时超时

'PING' command timed out.

我试图诊断为什么它无法通过控制套接字与主进程通信。

  • 该进程可以调用 wpa_cli 命令(我可以运行并查看输出wpa_cli -v
  • 该进程可以看到iface控制套接字/var/run/wpa_supplicant/wlext(我可以运行ls -la等)

答案1

python 进程的 systemd 单元有

PrivateTmp=true

在某种程度上隔离流程。

将其设置为false允许 cli 构建客户端套接字/tmp以供主进程套接字链接到。

相关内容