2016-08-03 76 views
1

我是Raspberry Pi的新手,我想在Pi启动后自动运行一个程序。当我试图运行./myscript.sh时,我的脚本工作正常。由于每次启动Pi都需要运行,因此我提到/etc/rc.local中的脚本路径为/home/pi/myscript.sh,高于exit 0脚本在raspbian中运行两次

一旦我重新启动了皮,我可以看到我的脚本日志信息等,但是当我想看看进程ID我发现了两个过程,我开始使用脚本的应用程序。

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你的命令。 一个过程(684)用于切换用户部分(这里是sudo),另一个(689)用于程序本身。

所以没关系,你的程序不运行两次。