в этом случае;строка:
python3 /home/pi/myscript.py # <-- What is this?
- это команда python
, запускаемая командой sudo
, а строка:
sudo python3 /home/pi/myscript.py # <-- rc.local
- команда sudo, вызываемая rc.local
.
Используя ps -fe
, он также отображает родительский pid процессов, и из этого легко видеть, что команда python
является дочерней по отношению к команде sudo (на примере sudo bash
)):
$ ps -fe | grep bash
UID PID PPID C STIME TTY TIME CMD
0 15095 481 0 10:18am ttys000 0:00.06 sudo bash
0 15096 15095 0 10:18am ttys000 0:00.01 bash
, поэтому родителем bash
является pid 15095
, который является pid команды sudo
, которая вызвала bash.
, поскольку скрипт rc.local
уже запущен с правами root, sudo
не требуется, поэтому, чтобы избежать ситуации, когда вы видите несколько копий, вы можете опустить sudo
в скрипте.