Python 如何在service中连接wifi?

在python脚本中连接WiFi没有问题

os.system("nmcli device wifi connect tplink123 password 12345678")

这条命令不需要管理员权限。
脚本需要开机自启,所以加入到了service中,但是这条代码不起作用,也不抛出异常。

然后试了subprocess和envoy模块,或者放到shell脚本都是一样的情况。

在subprocess模块中调用Popen.termiate(),Popen.kill(),直接启动脚本是没有问题的,但是在service中就会阻塞。所以程序过了这条联网代码,产生相应的对象,但是没有执行联网操作。

现在怀疑是nmcli与service的冲突,或者是service与shell的冲突。因为同样情况subprocess调用程序如mplayer是没有问题的。

请问有什么办法解决吗?

阅读 3.5k
2 个回答

连接不了。这属于操作系统的事。直接执行这条命令,看结果。然后再测下需要不需要管理员权限。

没试过写到service里面,不过亲测写到rc.local里面是可以的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题