Dissable restrição do manipulador de sinal do processo init namespace pid

2

Ubuntu 16.04 / Linux versão 4.4.0-47-generic / gcc versão 5.4.0

Eu quero implementar um contêiner usando cgroups do Linux e parte da implementação foi executar o processo em um novo pid-namespace.

De documentação

Only signals for which the "init" process has established a signal handler 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.

Infelizmente isso se aplica ao próprio processo de inicialização. Por exemplo, se uma asserção entrar no processo init e não tiver um manipulador para sig6, o código de asserção enviará um sig11.

Existe alguma maneira de desativar esse recurso (pelo menos no caso em que o processo init envia sinais para si mesmo). Eu não posso impor o processo de inicialização para ter manipuladores de sinal para esse tipo de cenário e quero saber por que o processo parou.

Um pequeno hack pode ser criar um processo init fictício que irá encaminhar de alguma forma o sinal do programa alvo, mas existe uma solução não-hacker para isso?

    
por Alex Velea 21.11.2016 / 16:05

0 respostas