는 popen 개체입니다 효과적으로 그냥 아이의 래퍼가 PID, 표준 입력, 표준 출력 및 표준 오류, 게다가 그 사용에 대한 몇 가지 편의 기능을 처리합니다.
그래서 Popen 개체에 액세스해야하는 이유는 무엇입니까? 자녀와 의사 소통을하거나, 자녀를 퇴학 시키거나, 자녀가 아직 운영 중인지 여부를 확인하고 싶습니까?
어쨌든 이미 실행중인 프로세스에 대한 Popen 개체를 다시 얻는 방법은 없습니다.
올바른 접근 방법은 Tobu가 제안한 것처럼 데몬으로 아이를 시작하는 것입니다. 프로세스를 daemonising하기위한 절차의 일부는 stdin과 stdout을 닫는 것이므로 자식 프로세스와 대화하는 데 사용할 수 없습니다. 대신 대부분의 데몬은 클라이언트가 연결하여 메시지를 보낼 수 있도록 파이프 나 소켓을 사용합니다.
하위 프로세스에서 명명 된 파이프를 여는 것이 가장 쉽습니다./etc/my_pipe, 부모 프로세스/제어 프로세스에서 해당 명명 된 파이프를 열고, 그/그녀에게 쓰기/읽기를 수행합니다.
python-daemon을 간략하게 살펴보면 python-daemon이 자식 프로세스를 데몬 레이션하는 데 도움이되는 것처럼 보입니다.이 과정은 어렵습니다.하지만 메시징 측면에서는 도움이되지 않습니다.
하지만 제가 말씀 드렸듯이 우리가 더 이상 당신을 도울 수 있기 전에 왜 당신이 아이를위한 Popen 객체를 필요로하는지 말해야한다고 생각합니다.
Popen 객체가 필요한 이유, Popen의 어떤 메소드를 호출 할 것인지, 부모 프로세스가 자식 프로세스에서 수행하는 작업 (stdin에 쓰기, 죽이기, 죽이기, 아직 상태 확인 중) 살아 있는?)? – liwp