2016-01-24 63 views
0

我試圖在後臺運行airodump後臺運行的進程。我寫了下面的腳本,多數民衆贊成從/etc/rc.local稱爲:在在啓動不同的行爲,然後手動啓動

#!/bin/bash 

/usr/local/sbin/airmon-ng check kill >> /tmp/airmon-kill 2>&1 
sleep 2 
/usr/local/sbin/airmon-ng start wlan0 > /tmp/airmon-start 2>&1 
sleep 2 
/usr/local/sbin/airodump-ng wlan0mon --manufacturer --uptime --wps --output-format csv --write-interval 5 --write log > /tmp/airmon-dump 2>&1& 

當我運行這些命令作爲根從終端他們工作得很好。當我從rc.local運行它們,我得到所有種類的問題..

首先擊殺腳本..這一個似乎很好地工作,因爲輸出是:

Killing these processes: 

    PID Name 
2294 dhcpcd 

下一頁啓動腳本...這就是在那裏我得到的是,當我在終端上自己運行它我沒有得到一個錯誤:

PHY Interface Driver  Chipset 

phy0 mon.wlan0 rt2800usb Ralink Technology, Corp. RT5370 
phy0 wlan0  rt2800usb Ralink Technology, Corp. RT5370 

Error setting channel: command failed: Device or resource busy (-16) 
Error -16 likely means your card was set back to station mode by something. 
Removing non-monitor mon.wlan0 interface... 

WARNING: unable to start monitor mode, please run "airmon-ng check kill" 

任何想法,爲什麼行爲是如此不同?兩者都以root身份運行(我檢查過),並且都從bash運行。爲什麼不同的行爲?

+0

這是什麼Linux發行版? – Will

+0

Raspian(wheezy) –

回答

0

而不是把它放在rc.local,這對我來說可能會在聯網實際開始之前運行,編輯/etc/network/interfaces。裏面的定義wlan0(或任何你的無線接口被命名),添加post-up命令:

iface wlan0 inet dhcp 
    ... 
    post-up /path/to/your/bash/script.sh 

這將運行腳本後wlan0接口其實來自網上。

相關問題