Raspberry Pi(Raspbian Linux flavor)在wifi上运行脚本
问题描述:
目前我遇到了WiFi适配器连接到网络后脚本自动运行的问题。Raspberry Pi(Raspbian Linux flavor)在wifi上运行脚本
经过可笑的扩展研究后,我做了几次尝试将脚本添加到/etc/network/if-up.d/。手工操作我的脚本;但它不会自动。
用户权限:
ls -al /etc/network/if-up.d/*
-rwxr-xr-x 1 root root 703 Jul 25 2011 /etc/network/if-up.d/000resolvconf
-rwxr-xr-x 1 root root 484 Apr 13 2015 /etc/network/if-up.d/avahi-daemon
-rwxr-xr-x 1 root root 4958 Apr 6 2015 /etc/network/if-up.d/mountnfs
-rwxr-xr-x 1 root root 945 Apr 14 2016 /etc/network/if-up.d/openssh-server
-rwxr-xr-x 1 root root 48 Apr 26 03:21 /etc/network/if-up.d/sendemail
-rwxr-xr-x 1 root root 1483 Jan 6 2013 /etc/network/if-up.d/upstart
lrwxrwxrwx 1 root root 32 Sep 17 2016 /etc/network/if-up.d/wpasupplicant -> ../../wpa_supplicant/ifupdown.sh
另外,我已经尝试通过添加行sendemail.sh的
post-up /home/pi/r/sendemail.sh
目录直接在/ etc /网络/接口 推命令:
#!/bin/sh
python /home/pi/r/pip.py
重启后,没有发生任何事情。我甚至试过须藤前
我认为wpasupplicant的是导致该事情,但我不能让如何运行我的脚本在ifupdown.sh脚本在/ etc /的wpa_supplicant。
感谢您的帮助!
答
如果你在初始化wifi接口之前没有连通性,我会建议添加一个bash或python脚本的cron作业,每隔X分钟检查一次连通性。
Ping(host);
如果主机启动,则运行python命令或外部命令。
这是相当模糊的,但希望有一些帮助。
这是一个脚本的例子,它将检查主机是否存在;
import re,commands
class CheckAlive:
def __init__(self):
myCommand = commands.getstatusoutput('ping ' + 'google.com)
searchString = r'ping: unknown host'
match = re.search(searchString,str(myCommand))
if match:
# host is not alive
print 'no alive, don't do stuff';
else:
# host is alive
print 'alive, time do stuff';
谢谢麦迪逊!建议的方法可能会以某种方式提供帮助(例如,目前,我在'/ etc/profile'中添加了一个脚本,它在登录后只运行一次),但事情是:cron作业应该单独管理,否则,脚本将持续运行(这不是目标本身)。主要目的是在wlan0启动并且通过DHCP获取IP时运行它。 –
好的,我看你的意思,我想你是在正确的轨道上, 在/ etc/network/interfaces下试试加入; '汽车eth0的 IFACE eth0的INET DHCP 起来后在/ usr/local/sbin中/我 - 定制script' 但随着您的实际界面和脚本取代。 –
是的,这就是我原来所做的,但没有效果。我认为wpasupplicant窃取线程。 –