Perguntas com a marcação «signals»

Um sinal é uma notificação a um processo de que ocorreu um evento. Os sinais às vezes são descritos como interrupções de software. Os sinais são análogos às interrupções de hardware, pois interrompem o fluxo normal de execução de um programa; na maioria dos casos, não é possível prever exatamente quando um sinal chegará. Eles são definidos nos padrões C e estendidos no POSIX, mas muitas outras linguagens / sistemas de programação fornecem acesso a eles também.

614
O que matou meu processo e por quê?

Meu aplicativo é executado como um processo em segundo plano no Linux. Atualmente, ele é iniciado na linha de comando em uma janela do Terminal. Recentemente, um usuário estava executando o aplicativo por um tempo e ele morreu misteriosamente. O texto: Morto estava no terminal. Isso aconteceu...

536
Como capturar o SIGINT em Python?

Estou trabalhando em um script python que inicia vários processos e conexões com o banco de dados. De vez em quando eu quero matar o script com um sinal Ctrl+ C, e gostaria de fazer uma limpeza. No Perl, eu faria o seguinte: $SIG{'INT'} = 'exit_gracefully'; sub exit_gracefully { print "Caught...

143
Qual é a diferença entre sigaction e signal?

Eu estava prestes a adicionar um manipulador de sinal extra a um aplicativo que temos aqui e notei que o autor havia usado sigaction()para configurar os outros manipuladores de sinal. Eu ia usar signal(). Para seguir a convenção, devo usar, sigaction()mas se estava escrevendo do zero, qual devo...

119
Tratamento de sinais com vários threads no Linux

No Linux, o que acontece quando um programa (que possivelmente possui vários threads) recebe um sinal, como SIGTERM ou SIGHUP? Qual thread intercepta o sinal? Vários threads podem obter o mesmo sinal? Existe um segmento especial dedicado inteiramente ao tratamento de sinais? Se não, o que acontece...

86
Como evitar o uso de printf em um manipulador de sinal?

Como printfnão é reentrante, não é seguro usá-lo em um manipulador de sinal. Mas eu vi muitos códigos de exemplo que usam printfessa maneira. Portanto, minha pergunta é: quando devemos evitar o uso printfem um manipulador de sinal e há uma substituição recomendada?

9
Intercepção de sinal do sistema em Julia

Em um programa Julia executado no Linux, preciso iniciar uma ação dedicada quando uma janela do console é redimensionada. Então, como em Julia, posso interceptar o sinal do sistema SIGWINCH (redimensionamento de janela) e anexar a ele uma função que executa a ação necessária? Em Ada, é bastante...