Signal
Publicado por Andre Luiz da Silva 02/05/2004
[ Hits: 7.316 ]
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;
}
Ler N números e ver qual é o maior
Contagem de elementos de um array
Faixa salarial de funcionários
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
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (40)
Pfsense inacessivel após um periodo de tempo (2)









