Las señales son las interrupciones entregados a un proceso por el sistema operativo
que puede terminar un programa prematuramente. Puede generar interrupciones
pulsando Ctrl + C en un sistema UNIX, Linux, Mac OS X o Windows.
Hay señales que no pueden ser capturadas por el programa, pero hay un siguiente
lista de señales que se puede tomar en su programa y puede tomar las acciones
apropiadas basadas en la señal. Estas señales se definen en el archivo de cabecera
C ++ <csignal>.
Señal Descripción
SIGABRT Terminación anormal del programa, tales como una llamada para abortar
SIGFPE Una operación aritmética errónea, tal como una división por cero o una
operación que resulta en desbordamiento.
El () la función de señal:
C ++ biblioteca de manipulación de la señal proporciona señal de función
para atrapar eventos inesperados. A continuación se muestra la sintaxis
de la función de señal ():
#include <iostream>
#include <csignal>
exit(signum);
int main ()
{
// register signal SIGINT and signal handler
signal(SIGINT, signalHandler);
while(1){
cout << "Going to sleep...." << endl;
sleep(1);
}
return 0;
}
Going to sleep....
Going to sleep....
Going to sleep....
Going to sleep....
Going to sleep....
Going to sleep....
Interrupt signal (2) received.
El () la función de elevación:
Puede generar señales de aumento función (), que tiene un número de
señales entero como un argumento y tiene la siguiente sintaxis.
#include <iostream>
#include <csignal>
exit(signum);
int main ()
{
int i = 0;
// register signal SIGINT and signal handler
signal(SIGINT, signalHandler);
while(++i){
cout << "Going to sleep...." << endl;
if( i == 3 ){
raise( SIGINT);
}
sleep(1);
}
return 0;
}
Going to sleep....
Going to sleep....
Going to sleep....
Interrupt signal (2) received.