Python iwconfig对以crontab@reboot启动的进程不可用?
这是我第一次向stackoverflow发帖,请耐心听我说:) 我试图从python脚本读取iwconfig的输出,以确定是否存在wifi连接。当我使用crontab@reboot(user,而不是root)运行脚本(通过首先设置目录的bash脚本)时,Python iwconfig对以crontab@reboot启动的进程不可用?,python,python-3.x,cron,raspbian,iwconfig,Python,Python 3.x,Cron,Raspbian,Iwconfig,这是我第一次向stackoverflow发帖,请耐心听我说:) 我试图从python脚本读取iwconfig的输出,以确定是否存在wifi连接。当我使用crontab@reboot(user,而不是root)运行脚本(通过首先设置目录的bash脚本)时,subprocess.check_输出(['iwconfig'])总是抛出[Errno 2]。当我使用try/except捕获错误并循环代码时,这甚至是正确的,因此当Wifi确实连接时,它仍在运行(我可以通过手动运行iwconfig进行检查)。当
subprocess.check_输出(['iwconfig'])
总是抛出[Errno 2]。当我使用try/except捕获错误并循环代码时,这甚至是正确的,因此当Wifi确实连接时,它仍在运行(我可以通过手动运行iwconfig进行检查)。当我通过同一个bash脚本从命令行运行python脚本时,它工作得很好。我忽略了什么
#!/usr/bin/python3
import subprocess
import time
import logging
logging.basicConfig(filename='wifi_check.log', filemode='w', format='%(name)s - %(levelname)s
- %(message)s', level=logging.DEBUG)
logging.info("Checking for Wifi")
for i in range(20):
try:
iwconfig_output = subprocess.check_output(['iwconfig']).decode('utf-8')
except Exception as err:
logging.error(str(i) + str(err))
else:
logging.debug(str(i) + iwconfig_output)
if "ESSID" in iwconfig_output:
logging.info(str(i) + "Wifi active")
time.sleep(10)
Errno 2
可能表示找不到该文件。
可能执行脚本的用户的路径中没有
iwconfig
。尝试使用可执行文件的/sbin/iwconfig
(完整路径)来排除这种情况 非常感谢,成功了!(实际上我已经试过完整的路径,但弄错了)。谢谢。帮助我在cron中运行/sbin/iwconfig wlan0
,以提取信号电平