Process(target=worker, daemon=False)
Process(target=worker, daemon=True)
の違いについてだが、False
だと親プロセスはこの Process の終了を待つ。この場合でも親プロセスにシグナルを送って直ちに終了させることはできる。
その場合、子プロセスである Process はそのまま残る。True
だと親プロセスが終了するときにこのデーモンプロセスも終了させようとする。
しかし、親プロセスをシグナルで終了させた場合、デーモンを終了させる間もなく終了させられるので、子プロセスである Process はそのまま残る。