프레임 워크를 사용하는 파이썬 응용 프로그램이 있습니다.파이썬 트위스트 및 SIGKILL
필자는 twistd에서 생성 된 pidfile에 저장된 값을 사용합니다. 런처 스크립트는 존재 여부를 검사하고 pidfile이 이미 존재하면 데몬 프로세스를 생성하지 않습니다.
그러나 twistd는 SIGKILL
신호를 받으면 .pid 파일을 제거하지 않습니다. 런처 스크립트는 데몬이 이미 실행 중임을 인식합니다.
SIGTERM
신호를 사용하는 것 데몬을 막을 수있는 적절한 방법을 실현하지만, 문제는 데몬을 시작 사용자가 로그 아웃 할 때, 데몬이
SIGTERM
신호를 얻을 수 결코, 그래서 분명히 그것은
SIGKILL
으로 죽였다. 즉, 사용자가 로그 아웃하면 pidfile이 계속 존재하므로 데몬을 다시 시작할 수 없습니다.
그런 상황에서 파일을 사라지게 할 수있는 방법이 있습니까?
답변 해 주셔서 감사합니다. 매우 논리적 인 것 같습니다. 그러나 그것은 왜 사용자가 로그 아웃했을 때 SIGTERM이 그 꼬인 데몬으로 보내지지 않고 대신 SIGKILL이 사용되는지 궁금합니다. – rafalcieslak
사용자가 무엇을 로그 아웃합니까? –
@ Jean-PaulCalderone : 제 트위스트 데몬은 정확히 dbus 서비스로 시작됩니다. dbus는 서비스가 종료 될 때 모든 서비스를 종료하지만, twisted 데몬은 SIGKILL을 대신 읽습니다. – rafalcieslak