On 4/30/18 6:05 PM, Andrei Vagin wrote:
> bash sets a handler for all terminating signals, which saves history,
> executes traps, sets a default signal handler and re-sends the same
> signal to itself. It expects that this signal will kill it.
> 
> Unfortunately it doesn't work in Linux, when a bash script is executed as
> an init process in a pid namespaces, because all signals to the init
> process, what are sent from the current pid namespace, are ignored.
> 
> man 7 pid_namespaces
>   Only signals for which the "init" process has established a signal han‐
>   dler can be sent to the "init" process by  other  members  of  the  PID
>   namespace.   This restriction applies even to privileged processes, and
>   prevents other members of the PID namespace from  accidentally  killing
>   the "init" process.
> 
> Chet Ramey suggested to add a call to exit() after the kill(). This
> patch adds this call for signals, which do not result in a core dump.
> For other signals, a null pointer is dereferenced to get a core file.

What's the value of a core dump from a different signal in this case?

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/

Reply via email to