Subject: Re: bug#57199: 29.0.50; Processes spawned by Emacs become zombie after restarting

From: Akib Azmain Turja <[email-masked]>
Date: Sun, 14 Aug 2022 18:05:00 +0600

Eli Zaretskii <[email-masked]> writes:

>> Date: Sun, 14 Aug 2022 13:30:26 +0600
>> From:  Akib Azmain Turja via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <[email-masked]>
>> 
>> Some child processes don't terminate when Emacs kills them (e.g. Tor).
>
> What is special in those processes?  How do they avoid being killed by
> Emacs?

IIUC, Emacs sends SIGHUP (from kill_buffer_processes in process.c) to
all child processes to kill them just before exiting (or restarting),
and Tor uses that signal as the reload signal.

>
>> So, trying to kill them after restarting Emacs with "restart-emacs"
>> makes those processes zombie.  So I have to kill Emacs to remove those
>> zombies.
>
> If a process actively resists being killed, then what you see is the
> expected behavior, determined by the underlying OS.

How can a process resist being killed?  SIGKILL is lethal, always.  Why
kill-emacs sends SIGHUP while kill-process and delete-process sends
SIGKILL?

-- 
Akib Azmain Turja

Find me on Mastodon at @[email-masked].

This message is signed by me with my GnuPG key.  Its fingerprint is:

    7001 8CE5 819F 17A3 BBA6  66AF E74F 0EFA 922A E7F5