> python daemon 예제 | Open the Box

python daemon 예제

python daemon 예제

파이썬은 파일 설명자가 프로그램의 소스와 가져올 수있는 모듈에 열려 있는 것을 좋아합니다. 파이썬 방식으로 데몬을 만드는 것 – 채드 J. 슈뢰더에 의해 나는 데몬 라이브러리를 사용하지 않을 이유가 없지만, 단지 재미를 위해, 그것없이 그것을 수행하는 방법에 대해 살펴 보자. 물론 데몬을 중지하거나 다시 시작할 수 있는 메서드를 추가할 수 있습니다. 나는 데몬을 작성하는 사람들에게 관심이있을 수있는 파이썬에서 권한을 떨어 뜨리기위한 패키지를 만들었습니다 : 이것은 데몬을 만들 수있는 방법의 목록입니다 : 코드를 사용하여 프로세스를 변환하는 데몬 응용 프로그램을 실행하고 있습니다. 데몬. 그것은 잘 작동하지만, 실행 직후, 프로세스가 스핀 록에있는 것처럼 거의 모든 CPU를 차지하기 시작합니다. 그러나 지정된 파이프에서 읽기를 기다리는 프로세스가 회전하는 것이 아니라 차단되어야 합니다. 프로세스가 CPU의 대부분을 차지하는 이유와 그렇게에서 그것을 중지하는 방법 어떤 생각? “createDaemon()” 함수를 호출한 후의 코드는 다음과 같습니다: 데몬은 일반적인 프로세스와 어떻게 다릅니다: https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/basics-processes.html 게시된 코드는 Python의 작동 방식을 설명하는 데 유용하지만 * nix 프로덕션 환경에서 장기 실행 프로그램을 배포할 때 프로그램을 하는 것이 더 낫다는 점을 지적할 필요가 있다고 생각합니다. 구현 언어에 관계없이) STDIN, STDOUT, STDERR을 통해 세계와 이야기하고 프로그램이 자신을 넣어보다 (종료, 로깅 및 기타 관리자 문제에 자동 재시작을 처리 할 수있는) dameontools에서 “감독”과 같은 일부 유틸리티를 통해 제어 배경: “표준 데몬 프로세스 라이브러리”에 PEP 3143: https://www.python.org/dev/peps/pep-3143/ 난 당신이 필요한 데몬에 대 한 더 복잡 하 고 상세한 구성을 하기 위해 설정할 수 있는 의 개요를 줄 거 야.

True인 경우 데몬 컨텍스트를 열 때 프로세스 컨텍스트를 분리합니다. False인 경우 분리하지 마십시오. 또한 데몬 이 파일을 만드는 모드를 설정하는 데몬 umask를 설정할 수 있습니다. 그냥 createDaemon () 함수를 호출하면 프로세스를 데모니됩니다. 그것은 잘 문서화 하 고 잘하면 유용. 어떤 아이디어나 제안을 환영합니다. 즐길. 개체에 파일 설명자 반환 하는 fileno() 메서드가 있는 경우 해당 파일은 데몬 시작 하는 동안 닫히는 것에서 제외 됩니다 (즉, files_preserve에 나열 된 것 처럼 처리 됩니다). 패키지 파이썬 데몬은 절대적으로 파이썬 프로그램에 대한 데몬을 만들 수있는 유일한 방법은 아니며, 가지고있는 모든 가능성을 신중하게 고려해야합니다.