O pai reiniciado pelo filho não responde ao CTRL-C

4

Eu escrevi um programa. Ele inicia um processo (chame de A) que gera um processo filho (chame-o de D) que encerra e reinicia A. O problema é que agora não consigo matar A bem do terminal (ou seja, o CTRL-C não está conseguindo isto). O pgid de A e D é o mesmo, mas parece que o terminal descarta esse grupo de processos como primeiro plano, e é por isso que não posso enviar sinais agora. Eu suspeito que isso acontece quando o processo pai originalmente morre. Existe alguma maneira de evitar isso? Posso mudar o pgid em primeiro plano para que pareça que o filho (D) é realmente o pai e o terminal não abandona o grupo de processos?

    
por Ethan 08.02.2015 / 22:16

1 resposta

0

Uma solução simples o suficiente:

Ter processo A exec um segundo processo A primeiro (chamá-lo de A '). Então deixe um bloqueio para sempre. A 'pode iniciar D, e D pode reiniciar A', e A permanece o tempo todo como pai.

    
por 09.02.2015 / 00:20