tela GNU desistindo - sigterm para o processo em execução

2

Eu quero a sessão de tela quit . Para isso, eu uso screen -S session_name -X quit . Isso funciona bem, mas não como eu faria.

O programa em execução em screen tem um manipulador para SIGTERM e eu realmente preciso que esse manipulador seja executado, para que ele possa executar a limpeza adequada. No entanto, executar screen -S session_name -X quit resulta no encerramento do programa sem que seu manipulador seja chamado.

Um kill $(pidof bla) simples resulta na chamada do meu manipulador, na limpeza adequada e, finalmente, no fechamento da sessão screen .

No entanto, eu gostaria de poder parar tudo isso fechando o screen usando o nome da sua sessão, e deixando-o "encaminhar" o sinal SIGTERM .

Qualquer ajuda apreciada, obrigado.

    
por Xaqq 13.08.2013 / 16:22

1 resposta

2

A solução que eu usei é inspirada na sugerida pelo @Kwaio. No meu caso, eu só tenho um processo que está interessado em receber o sinal SIGTERM . Este processo já encaminha para seus filhos.

Isso pressupõe que haja apenas uma sessão de screen com um determinado nome.

kill $(ps h --ppid $(screen -ls | grep session_name | cut -d. -f1) -o pid)
    
por 13.08.2013 / 17:39