signal.h - Um exemplo
Publicado por Jose Maria Silveira Neto 25/05/2004
[ Hits: 13.865 ]
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.
Thread, Courses, Shell e Aquivo
AA linux kernel modificado por minhe
Nenhum comentário foi encontrado.
Como ativar o módulo de cancelamento de ruído no Pipewire
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Otimizando o seu sistema com swappiness
Instalando Brave Browser no Debian 12
Adicionando ícones de status do teclado no system tray do Xfce4
Instalar ubuntu ao lado do Windows 10, só que em outro SSD (1)
Não é possível logar com usuário, apenas com root | ArchLinux [RESOLVI... (8)
Zorin OS não reconhece placa de rede do pc [RESOLVIDO] (37)
Apertei Crtl+alt+f1 e agora somente inicia na linha de comando (7)