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 [email protected] http://tiswww.cwru.edu/~chet/