저는 파이썬에서 Sander's recipy을 사용하는 데몬으로 작업하고 있습니다.파이썬 스레드와 데몬
지금까지는 정상적으로 실행되었지만 내 뇌를 시추하는 몇 가지 변경 사항을 소개해야합니다. 사실 :
샌더의 데몬 (Daemon)의 삶의 방식은 요청할 때마다 개체의 새로운 인스턴스를 만듭니다. 예 :
[prompt]> python my_daemon.py start
[prompt]> python my_daemon.py check_whatever (new instance of my_daemon.py is created, but it looks for pid and finally gets the first one.)
그런 다음 이전 인스턴스를 만드는 데 사용 된 PID를 찾아서 액세스하고 관리 할 수 있습니다.
상황은 다음과 같습니다.이 데몬은 데몬이 시작 명령을 수행하고 다른 명령을 승인 할 준비가 된 후에 계속 작동하는 두 개의 스레드를 생성합니다 (새 인스턴스가 만들어 짐을 기억하십시오). 다른 명령에서이 스레드에 액세스하고 싶습니다. 그러나 방법을 찾지 못했습니다 (있는 경우).
필자가 조사한 바에 따르면 pid를 사용하여 데몬을 죽이거나 검사 만 할 수 있지만 해당 인스턴스에서 생성 한 개체 (ergo, 스레드)를 가져올 수 있는지 여부는 알 수 없습니다.
열기 질문 : 나는 그것의 PID의 프로세스를 복구 할 수 있습니다 - 만약, 나 또한 그 개체에 액세스 할 수 있습니다
?
-이 스레드를 서브 프로세스로 변환하여 주 스레드가 완료되었거나 계속 기다리고있는 상태로 유지하도록 고려해야합니까?
아직 결정 사항을 선택하지 않았습니다. 방금 시작 명령에서 스레드를 생성하는 프로세스를 사용하여 나머지 명령에서 스레드에 액세스 할 수 없다는 것을 알았습니다. – Francisco