+my ($for_destroy, $lei_env, $lei_daemon_pid, $owner_pid);
+if (!$ENV{TEST_LEI_DAEMON_PERSIST_DIR} &&
+ (PublicInbox::Spawn->can('recv_cmd4') ||
+ eval { require Socket::MsgHdr })) {
+ $lei_env = {};
+ ($lei_env->{XDG_RUNTIME_DIR}, $for_destroy) = tmpdir;
+ $ENV{TEST_LEI_DAEMON_PERSIST_DIR} = $lei_env->{XDG_RUNTIME_DIR};
+ run_script([qw(lei daemon-pid)], $lei_env, { 1 => \$lei_daemon_pid });
+ chomp $lei_daemon_pid;
+ $lei_daemon_pid =~ /\A[0-9]+\z/ or die "no daemon pid: $lei_daemon_pid";
+ kill(0, $lei_daemon_pid) or die "kill $lei_daemon_pid: $!";
+ $owner_pid = $$;
+}
+