2017-04-26 7 views
0

現在、wifiアダプタをネットワークに接続した後にスクリプトの自動実行に関する問題が発生しています。ラブベリーPi(Raspbian Linux flavor)でwifi上のスクリプトを実行

驚くほど長い研究の後、私は/etc/network/if.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がいることを起こすものであることを前提とし、フロント

sudoのを試してみたが、私は、/ etc/wpa_supplicantの下ifupdown.shスクリプトの中で私のスクリプトを実行する方法を取得することはできません。

ありがとうございました!

答えて

0

wifiインターフェイスを初期化する前に接続できない場合は、x分ごとに接続をチェックするbashまたはpythonスクリプトのcronジョブを追加することをお勧めします。

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'; 
+0

ありがとうマディソン!提案されたアプローチは特定のやり方で役立つかもしれません(例えば現在、私は '/ etc/profile'にスクリプトを追加しました。ログイン後、一度だけ実行されます)。スクリプトは継続的に実行されます(これは目的自体ではありません)。主な目的は、wlan0が起動していて、ipがDHCP経由で取得されている場合に実行することです。 –

+0

私はあなたのポイントを見て、私はあなたが正しい軌道にあると思う、/ etc/network/interfacesの が追加しようとしています。 'auto eth0 iface eth0 inet dhcp ポストアップ/ usr/local/sbin/my-custom-script' しかし実際のインターフェースとスクリプトで置き換えてください。 –

+0

ええ、それは私が元々したものですが、何の効果もありませんでした。私はwpasupplicantがスレッドを盗むと思う。 –

関連する問題