
Python 서비스를 배포하기 위해 capistrano를 사용하고 있습니다. 서비스를 시작하고 나중에 서비스를 다시 시작하거나 중지할 수 있도록 pidfile을 작성하려고 했습니다. 문제는 pidfile이 항상 하나의 프로세스 ID 뒤에 있다는 것인데 그 이유가 확실하지 않습니다. 예를 들어, pidfile에 123이 있으면 실제로 실행 중인 프로세스는 124입니다. 수동으로 추가해야 합니까? 아니면 내가 명령을 잘못 쓰고 있는 걸까? 여기에 의사 명령을 작성하겠습니다.
nohup python ./service.py special_argument --config /some_folder/devel.yml --log logs/service.log > /dev/null 2>&1& echo $! > /some_folder/pids/special_argument.pidfile
답변1
자신의 pidfile을 작성하도록 Python 스크립트를 위임하여 이 문제를 해결했습니다.