don't use sub process exit hook, still too unreliable