2016-08-03 5 views
1

私はRaspberry Piを初めて使用しています.Piのブーツアップ後に自動的にプログラムを実行したかったのです。 ./myscript.shを実行しようとすると、スクリプトがうまく動作します。 Piのパワーアップのたびに実行する必要があるので、私は/etc/rc.localのスクリプトパスを/home/pi/myscript.shの上にexit 0として記載しました。スクリプトはraspbianで2回実行されます

私はPiを再起動すると、スクリプトなどからログメッセージを見ることができましたが、プロセスIDを見てみると、アプリケーションの2つのプロセスが見つかりました。

root  607 1 11:30 ?  00:00:00 /bin/sh -e /etc/rc.local start 
root  615 607 11:30 ?  00:00:00 /bin/bash /home/pi/myscript.sh 
root  684 615 11:30 ?  00:00:00 sudo ./rte -bf runappl.xml 
root  689 684 11:30 ?  00:00:00 ./rte -bf runappl.xml  

とmyscript.shが

#!/bin/bash 
echo " Configuring eth0 multicast ... " 
sudo ifconfig eth0 multicast 
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 

export rte_bin_dir="../home/pi/rte/bin/" 
if [ -d "$rte_bin_dir" ]; then 
    cd "./$rte_bin_dir" 
    sudo ./rte -bf runappl.xml 
else 
    echo "unable to locate ${rte_bin_dir}" 
    exit 1 
fi 

ようになりますが、これは予想される正しい結果であるか、私が何か間違ったことを想定していますか?

私はデスクトップ(メイン画面)を参照してください後に自動的にスクリプトを実行する方法はあり

答えて

3

あなたのコマンドをsudoingているので、これは正常です。 スイッチユーザー部分(ここではsudo)には1つのプロセス(684)が使用され、プログラム自体にはもう1つのプロセス(689)が使用されます。

あなたのプログラムは2回実行されていません。

関連する問題