如何在debian系统上正确地从python脚本重新启动网络?

如何在debian系统上正确地从python脚本重新启动网络?,python,networking,debian,Python,Networking,Debian,我正在运行一个小的debian(7.1版)盒子,它使用不同的wifi网络,并充当我通过相机发送给它的图像的中继。现在,有时它会断开与网络的连接,如果发生这种情况,我想重新启动它的网络功能,以使舒尔正常连接 在我早期的Linux时代,我学会了做/etc/init.d/networking restart。但显然,这对WPA应用程序不起作用。所以现在我尝试使用“wpa_action wlan0 restart;”,但仍然不起作用。它似乎可以在命令行中工作,但在像python中的os.system(“

我正在运行一个小的debian(7.1版)盒子,它使用不同的wifi网络,并充当我通过相机发送给它的图像的中继。现在,有时它会断开与网络的连接,如果发生这种情况,我想重新启动它的网络功能,以使舒尔正常连接

在我早期的Linux时代,我学会了做
/etc/init.d/networking restart
。但显然,这对WPA应用程序不起作用。所以现在我尝试使用“wpa_action wlan0 restart;”,但仍然不起作用。它似乎可以在命令行中工作,但在像python中的
os.system(“wpa_action wlan0 restart;”)
那样使用它之后,该框不会返回WIFI网络

所以我的问题是: 重新启动所有网络活动的正确方法是什么?如何从python脚本中执行此操作

它应该能完成我重启盒子时发生的所有事情,只是不触及任何与网络无关的东西

我的WPA请求者配置:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=0

network={
    id_str="home"
    ssid="xxx"
    scan_ssid=1
    psk="xxx"
    priority=5
}

network={
        ssid="sender"
        scan_ssid=1
        psk="xxx"
        priority=9
}
我的网络接口:

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
   wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet dhcp
iface default inet dhcp

要重新启动接口,脚本必须具有足够的权限(通常是root权限)


要重新启动接口,脚本必须具有足够的权限(通常是root权限)


要重新启动接口,脚本必须具有足够的权限(通常是root权限)


要重新启动接口,脚本必须具有足够的权限(通常是root权限)


我可以通过以下方式重新启动raspberry pi的wifi:

import subprocess
subprocess.call(['sudo /sbin/ifdown wlan0 && sleep 10 && sudo /sbin/ifup --force wlan0'], shell=True)

我可以通过以下方式重新启动raspberry pi的wifi:

import subprocess
subprocess.call(['sudo /sbin/ifdown wlan0 && sleep 10 && sudo /sbin/ifup --force wlan0'], shell=True)

我可以通过以下方式重新启动raspberry pi的wifi:

import subprocess
subprocess.call(['sudo /sbin/ifdown wlan0 && sleep 10 && sudo /sbin/ifup --force wlan0'], shell=True)

我可以通过以下方式重新启动raspberry pi的wifi:

import subprocess
subprocess.call(['sudo /sbin/ifdown wlan0 && sleep 10 && sudo /sbin/ifup --force wlan0'], shell=True)

Debian的哪个版本?我对Ubuntu的经验是,做这些事情的正确方法已经改变了,而且每年都不同。它是Debian7.1!编辑:实际上它是raspbian,但不应该太不同。是否安装了
network manager gnome
network manager kde
?它们是wpa请求者的前端,有时会引起头痛。如果您手动配置wpa请求程序,最好关闭这些进程,因为它们可能会导致奇怪的事情发生。两个进程都没有安装。我只是在这一个上使用命令行。哪个版本的Debian?我对Ubuntu的经验是,做这些事情的正确方法已经改变了,而且每年都不同。它是Debian7.1!编辑:实际上它是raspbian,但不应该太不同。是否安装了
network manager gnome
network manager kde
?它们是wpa请求者的前端,有时会引起头痛。如果您手动配置wpa请求程序,最好关闭这些进程,因为它们可能会导致奇怪的事情发生。两个进程都没有安装。我只是在这一个上使用命令行。哪个版本的Debian?我对Ubuntu的经验是,做这些事情的正确方法已经改变了,而且每年都不同。它是Debian7.1!编辑:实际上它是raspbian,但不应该太不同。是否安装了
network manager gnome
network manager kde
?它们是wpa请求者的前端,有时会引起头痛。如果您手动配置wpa请求程序,最好关闭这些进程,因为它们可能会导致奇怪的事情发生。两个进程都没有安装。我只是在这一个上使用命令行。哪个版本的Debian?我对Ubuntu的经验是,做这些事情的正确方法已经改变了,而且每年都不同。它是Debian7.1!编辑:实际上它是raspbian,但不应该太不同。是否安装了
network manager gnome
network manager kde
?它们是wpa请求者的前端,有时会引起头痛。如果您手动配置wpa请求程序,最好关闭这些进程,因为它们可能会导致奇怪的事情发生。两个进程都没有安装。我只是在这个上面使用命令行。