我是Raspberry Pi的新手,我想在Pi启动后自动运行程序。当我尝试运行./myscript.sh
时,我的脚本运行正常。由于需要在Pi每次启动时运行,我在/etc/rc.local
中提到了/home/pi/myscript.sh
上的exit 0
脚本路径。
一旦我重新启动Pi,我就可以看到来自我的脚本的日志消息等等,但是当我尝试查看进程时,我发现了应用程序的两个进程,我开始使用该脚本。
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
这是预期的正确结果还是我假设有问题?
有没有办法在看到桌面(主屏幕)后自动运行脚本
答案 0 :(得分:3)
这是正常的,因为你在侮辱你的命令。 一个进程(684)用于切换用户部分(sudo here),另一个进程(689)用于程序本身。
所以没关系,你的程序没有运行两次。