Lenguaje C: funciones de señal (instalación de controladores de señal)

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Lenguaje C: función de señal
(instalar controlador de señal)

En el lenguaje de programación C, Función de señal Instale una función como controlador de la señal.

sintaxis

La sintaxis de las funciones de señal en lenguaje C es:

void (*signal(int sig, void (*func)(int)))(int);

parámetro o parámetro

El valor de la señal sig. func Una función instalada como controlador de señales.

devolver los bienes

La función de señal devuelve un puntero al controlador anterior de la señal. Si no se puede instalar el controlador, la función de señal devuelve SIG_ERR.

titulo requerido

En C, los archivos de encabezado necesarios para la función de señal son:

#include <signal.h>

aplicar para

En C, las funciones de señal están disponibles en las siguientes versiones:

  • ANSI/ISO 9899-1990

Ejemplo de señal

/* Example using signal by TechOnTheNet.com */

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

void signal_handler(int signal)
{
    /* Display a message indicating we have received a signal */
    if (signal == SIGUSR2) printf("Received a SIGUSR2 signaln");

    /* Exit the application */
    exit(0);
}

int main(int argc, const char * argv[])
{
    /* Display a message indicating we are registering the signal handler */
    printf("Registering the signal handlern");

    /* Register the signal handler */
    signal(SIGUSR2, signal_handler);

    /* Display a message indicating we are raising a signal */
    printf("Raising a SIGUSR2 signaln");

    /* Raise the SIGUSR2 signal */
    raise(SIGUSR2);

    /* Display a message indicating we are leaving main */
    printf("Finished mainn");

    return 0;
}

Cuando se compila y ejecuta, esta aplicación generará:

Registering the signal handler
Raising a SIGUSR2 signal
Received a SIGUSR2 signal

ver también

Otras funciones de C que vale la pena mencionar cuando se trata de funciones de señal:

  • función de cancelación
  • función de impulso
(Visited 10 times, 1 visits today)