.bashrc
시스템 시작 시 실행하는 데 사용하는 Python 스크립트는 다음과 같습니다.
sudo -u pi python3 /path/to/script.py
그런 다음 시작 시 터미널 창이 열리는지 확인하기 위해 @lxterminal
파일에 추가했습니다 ./etc/xdg/lxsession/LXDE-pi/autostart
그러나 모든 진행 상황을 확인했을 때 동시에 두 개의 동일한 스크립트 만 실행하고 있었음에도 불구하고 시스템에서 두 개의 프로세스가 실행되고 있는 것을 ps aux
발견하여 문제가 발생했습니다. 도움을 주시면 감사하겠습니다.script.py
.bashrc
답변1
여기에는 몇 가지 오해가 있습니다. 모든 명령이 .bashrc
실행됩니다.새로운 대화형 비로그인 셸을 시작할 때마다. 이는 새 터미널을 열 때마다 다시 실행된다는 의미입니다. 실행할 때마다 bash
다시 실행됩니다.
sudo
다음 문제는 비밀번호 없는 실행을 허용하도록 구성하지 않으면 명령이 실행되지 않는다는 것입니다 . 비밀번호를 기다리면서 정지됩니다. 아직도 필요합니까 sudo
? pi
본인의 사용자 이름 이 아닌가요 ? 모든 명령은 .bashrc
사용자로 실행되므로 호출할 필요가 없습니다 sudo
.
결국 터미널을 시작하는 것은 관련이 없습니다. 명령은 해당 터미널에서 실행되지 않으며 터미널은 그대로 유지됩니다.
여러분이 해야 할 일은 이 명령을 추가 /etc/crontab
하고 재부팅 시 사용자로 실행되도록 설정하는 것뿐입니다 pi
. 실행 sudo nano /etc/crontab
하고 다음 줄을 파일에 추가합니다.
@reboot pi python3 /path/to/script.py
python3 /path/to/script.py
이렇게 하면 재부팅할 때마다 시스템이 사용자로 명령을 실행하도록 지시합니다 pi
.