![초기화 스크립트가 PWD에서 실행되지 않음](https://linux55.com/image/135957/%EC%B4%88%EA%B8%B0%ED%99%94%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EA%B0%80%20PWD%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%8C.png)
gunicorn 웹 서버를 설치하고 gunicorn virtualenv init.d 스크립트를 만들었지만 service gunicorn start
프로젝트 디렉토리에서 서비스를 실행하면 제대로 실행되지만 현재 작업 디렉토리가 /root 또는 다른 디렉토리와 같이 변경되면 오류가 발생합니다. init 스크립트를 편집하고 cd /root/demoproject/
작업 디렉터리에서 실행될 때 스크립트 시작 부분에 다음 명령을 추가했습니다. cd /root/demoproject/
init 스크립트에 명령을 추가하는 것 외에 실제 해결책은 무엇입니까?
답변1
스크립트를 특정 작업 디렉터리에서 실행해야 하는 경우(상대 경로 등을 사용하기 때문에) 스크립트가 작업 디렉터리를 변경하는 데 아무런 문제가 없습니다.
유일하게 하고 싶은 일은 실패할 경우 0이 아닌 종료 상태로 종료하는 것입니다 cd
.
cd /root/demoproject || exit 1
환경 변수 값에 따라 스크립트에서 디렉터리를 변경할 수도 있습니다.
cd "${MY_WORK_DIR:-/root/demoproject}" || exit 1
그러면 작업 디렉터리가 지정된 디렉터리로 변경되지만, MY_WORK_DIR
변수가 비어 있거나 설정되지 않은 경우 기본값은 해당 디렉터리로 변경됩니다./root/demoproject