하위 프로세스 내에 하위 프로세스를 생성하고 상위 프로세스가 종료되면 각 하위 프로세스가 반복적으로 종료되도록 하고 싶습니다.
저는 현재 프로그래밍 언어로 Python을 사용하고 있지만 프로그래밍 언어에 구애받지 않는 솔루션을 찾고 있습니다.
나를 혼란스럽게 하는 것은 각각이 매개변수 Process
에 따라 "데몬" 또는 "비데몬"으로 구성된다는 것입니다 . 이 매개변수는 상위 프로세스가 종료될 때 하위 프로세스가 종료되는지 여부를 제어합니다.daemon
__init__()
그러나 다음 문서에서 볼 수 있듯이 a가 Process
"데몬 프로세스"인 경우 하위 프로세스를 생성할 수 없으므로 내가 원하는 것을 달성할 수 없습니다. 즉, 상위 프로세스가 종료될 때 하위 프로세스를 재귀적으로 종료하는 것입니다.
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process.daemon:
daemon
The process’s daemon flag, a Boolean value. This must be set before start() is called.
The initial value is inherited from the creating process.
When a process exits, it attempts to terminate all of its daemonic child processes.
Note that a daemonic process is not allowed to create child processes. Otherwise a daemonic process would leave its children orphaned if it gets terminated when its parent process exits. Additionally, these are not Unix daemons or services, they are normal processes that will be terminated (and not joined) if non-daemonic processes have exited.