Signal
Publicado por Andre Luiz da Silva 02/05/2004
[ Hits: 7.237 ]
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; }
MeikeNeime - Programa gerador de nomes aleatórios
Nenhum comentário foi encontrado.
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (1)
Como listar os arquivos em "bloquin... (0)
Como vencer a procrastinação? (8)
Adicional de convivdado em linux somente linha de comando (3)