Signal
Publicado por Andre Luiz da Silva 02/05/2004
[ Hits: 7.310 ]
Homepage: http://localhost
Um pequeno fonte demonstrando algumas coisas interessantes usando signals.
/* Author: Andre Luiz da Silva
* Date : 21/04/2004
*/
#include <stdio.h> /* standart C functions */
#include <signal.h> /* signal() */
#include <unistd.h> /* sleep() */
#define DEFAULT_SPEED 5
static unsigned int speed = DEFAULT_SPEED;
int count = 0;
void aumenta_speed (int signal_num)
{
++speed;
signal (SIGUSR1, aumenta_speed);
/* Associa novamente o tratador de signal, pq em sistemas Linux, quando
* um programa recebe um signal ele chama o tratador para aquele signal e
* automaticamente associa aquele signal para o tratador default */
}
void diminui_speed (int signal_num)
{
--speed;
signal (SIGUSR2, diminui_speed);
}
void zera_contador (int signal_num)
{
count = 0;
signal (SIGHUP, zera_contador);
}
void default_speed (int signal_num)
{
speed = DEFAULT_SPEED;
signal (SIGTERM, default_speed);
}
int main (int argc, char **argv)
{
signal (SIGUSR1, aumenta_speed);
signal (SIGUSR2, diminui_speed);
signal (SIGHUP, zera_contador);
signal (SIGTERM, default_speed);
for (; ;++count)
{
sleep (speed);
printf ("%d \n", count);
}
return 0;
}
Os cincos primeiros termos da séries de fourier
Desenhando uma curva de Bézier
MeikeNeime - Programa gerador de nomes aleatórios
Teoria do Caos - (Equação Logística)
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Não consigo instalar distro antiga no virtualbox nem direto no hd (25)
queria saber como posso alterar a frequencia do meu ryzen 2300u pro (3)









