Beaglebone에서 서비스 생성 시 디렉터리를 지정할 수 없습니다.

Beaglebone에서 서비스 생성 시 디렉터리를 지정할 수 없습니다.

프로그래밍 질문 반, 리눅스 질문 반이라 어디에 올려야할지 모르겠어서 양해 부탁드립니다.

저는 Beaglebone Black을 사용하여 프로젝트를 진행 중이고 시작 시 매우 복잡한 Python 스크립트를 자동화해야 하므로 다음 튜토리얼을 따랐습니다.

(https://stackoverflow.com/questions/28854705/executing-a-script-on-startup-using-beaglebone-black)

작동하지만 스크립트가 /올바른 디렉토리가 아닌 디렉토리에서 실행되므로 /root/pyfingerprint/examples/프로그램이 examples디렉토리의 내용을 실행하려고 할 때 해당 내용을 찾을 수 없습니다.

필요한 모든 코드 줄에 전체 경로를 추가하려고 시도했는데 프로젝트의 일부 부분에서는 작동하지만 cv2 및 기타 라이브러리에서는 충분하지 않습니다.

os.system("cd /root/pyfingerprint/examples/")Python 스크립트 시작 부분에 추가하여 이 문제를 해결하려고 시도했지만 시작 시 프로그램이 실행되면 현재 디렉터리가 여전히/

프로그램은 수동으로 실행하면 완벽하게 실행되지만 시작하면 실패합니다.

올바른 디렉터리에서 자동으로 실행되도록 서비스의 작업 디렉터리를 설정하는 방법이 있습니까?

답변1

Fruit이 제안한 대로 해결책은 cd [dir].sh 스크립트를 추가하여 프로그램을 시작하는 것입니다. 내 경우에는 스크립트는 다음과 같습니다.

#!/bin/bash
cd /root/pyfingerprint/examples/
python3 main.py

관련 정보