2016-08-03 19 views
1

Ich bin neu in Raspberry Pi und ich wollte ein Programm automatisch nach dem Pi bootsup ausführen. Ich Skript funktioniert gut, wenn ich versuchte, ./myscript.sh ausführen. Da es jedes Mal ausgeführt werden muss, wenn der Pi hochgefahren wird, habe ich den Skriptpfad in /etc/rc.local als /home/pi/myscript.sh über exit 0 erwähnt.Skript läuft zweimal in raspbian

Sobald ich den Pi neu starten, konnte ich die Protokollmeldungen von meinem Skript und so weiter sehen, aber als ich versuchte, die Prozess-ID zu sehen, fand ich zwei Prozess für die Anwendung, die ich benutze das Skript.

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  

und myscript.sh wird

#!/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 

Ist dies das richtige Ergebnis erwartet aussehen oder gehe davon aus ich etwas falsch?

Gibt es eine Möglichkeit das Skript auszuführen automatisch, nachdem ich den Desktop (Hauptbildschirm) sehen

Antwort

3

Das ist normal, wie Sie Ihren Befehl sind sudoing. Ein Prozess (684) wird für den Switch-Benutzerteil (sudo hier) verwendet, der andere (689) für das Programm selbst.

Also ist es in Ordnung, Ihr Programm läuft nicht zweimal.