2017-05-04 1 views
1

/etc/profile에 명령을 추가하여 Raspberry Pi를 시작할 때 Python 스크립트가 백그라운드에서 두 번 실행되는 이유는 무엇입니까?/etc/profile에 명령을 추가하여 Raspberry Pi를 시작할 때 Python 스크립트가 백그라운드에서 두 번 실행되는 이유는 무엇입니까?

내 Raspberry Pi, "sudo python /path/filename.py &"의 시작시 실행할 Python 스크립트에 대해/etc/profile 파일의 끝에 작성된 명령이있어 어떤 이유로 실행됩니다 매번 두 번. 필자가 라인을 주석 처리하고 명령 행에서 수동으로 실행하면 정상적으로 실행됩니다. 왜 그런 일이 일어나고 그런 일이 발생하지 않도록 어떻게해야합니까?

나는 내 코드에서 번에 두 번, 다른 번에 세 번 울리는 부저를 가지고 있기 때문에 백그라운드에서 두 번 실행된다는 사실을 알고 있으며 3 대신 2 번과 6 번 대신 4 번 경고음을 울립니다. 또한 각 스크립트 실행이 동시에 다른 것을하려고하기 때문에 코드는 모순되는 결과를 초래합니다.

미리 감사드립니다.

+0

라즈베리 파이 스택 교환에 더 좋을지도 모릅니다. –

+0

/etc/profile을 사용하여 스크립트를 시작 하시겠습니까? 어쨌든 로그 파일을 작성하여이를 디버깅하십시오. 나는 왜 당신이 오작동을 일으키는 많은 이유를 생각할 수 있으며 모든 스크립트가 두 번 실행되는 스크립트를 포함하지는 않습니다. –

+0

아마도 http://raspberrypi.stackexchange.com/에 있어야합니다. – lit

답변

0

VNC를 사용할 수 있습니까? 나는 그것이 문제라고 생각한다. 그것은 나를위한 것이 었습니다.

이 관련 논의를 참조하십시오 :

https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=59285

그래서 당신이 (VNC에 사용 된 것과 다른) 새로운 사용자를 생성, 레벨이 제안 대니 실행을, VNC를 비활성화 할 수 있습니다 또는 이런 종류의 일을 시작 스크립트의 내용 :

if [ x"$ALREADY_DONE" == x"" ]; then 
    export ALREADY_DONE=yes 
    foobar 
fi 
+1

VNC를 사용할 수 없습니다. 내가이 문제를 해결하는 방법은 부트 스크립트를 다른 곳에서 시작하는 것이 었습니다. 많은 사람들이/etc/profile을 사용하는 것이 좋지 않다고 제안 했으므로 권장하지 않습니다. 대신 "crontab -e"를 사용하고 "@reboot sudo python /filelocation/filename.py"라고 썼습니다. 입력 해 주셔서 감사합니다! –

관련 문제