signal.h - Um exemplo
Publicado por Jose Maria Silveira Neto 25/05/2004
[ Hits: 13.826 ]
Um pequeno uso para a Signal.h no C.
Com esta biblioteca, você pode manusear sinais e manter um comunicação entre aplicações.
Nesse exemplo usaremos o sinal USR.
Depois de compilar e executar o programa num terminal, abra outro terminal e de um ps -xa para ver a lista de processos. Descubra o PID do seu processo (número que identifica o seu processo, fica do lado do nome do executavel no ps -xa). Escreva
$kill -USR1 <pid do processo>
Você pode fazer uma outra funcao para usar o USR2.
Boa sorte.
/*Inicio do programa*/ #include<stdio.h> #include<signal.h> void handler_USR1(int sig) { psignal(sig,"USR1 Recebido\n"); } int main(void) { printf("Esperando sinal do sistema\n"); signal(SIGUSR1,handler_USR1); while(1) { pause(1); } } /* Fim do Programa*/ Compile e execute o programa, depois em um outro terminal digite: $ps -xa ai procure pelo PID seu processo. O pid eh um numeruzinho que na mesma linha do nome do binarios do seu programa quando você dá um ps -xa . Ai digite, no lugar de <pid> coloque o pid do processo (sem os <>) $kill -USR1 <pid> Deve aparecer uma mensagenzinha do seu programa avisando que ele recebeu a mensagem. Nos bons programas o SIGUSR1 é usado para avisar o programa que há novas configurações do sistema. Ai ele reabre os arquivos de configuração. Legal, ai não precisa reiniciar o programa para ele recarregar as configurações! Para encerrar os programa de um $kill -KILL <pid> ou somente $kill <pid> Valeu.
Agenda feita em C usando árvore binária
Jogo Windows Invaders (com gráficos)
Nenhum comentário foi encontrado.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba