Funkcija C (+) pakelti () siunčia signalą programai.
pakelti () Prototipas
int pakelti (int sig);
Pakėlimo funkcija iškviečia signalo tvarkytuvą. Jei signalo tvarkymui nenustatyta vartotojo apibrėžta funkcija, nustatoma, ar signalas bus ignoruojamas, ar bus iškviestas numatytasis tvarkytuvas.
Tai apibrėžiama antraštės faile "> header file.
pakelti () parametrus
sig: Signalas, kurį reikia siųsti tvarkyti. Tai gali būti viena iš šių verčių:
- SIGABRT
- SIGFPE
- SIGILL
- ŽENKLAS
- SIGSEGV
- SIGTERMAS
pakelti () grąžos vertė
Sėkmės atveju ji grąžina nulį, o nesėkmės atveju - nulis.
Pavyzdys: kaip veikia funkcija raise ()
#include #include using namespace std; sig_atomic_t sig_value = 0; void handler(int sig) ( sig_value = sig; ) int main() ( signal(SIGABRT, handler); cout << "Before signal handler is called" << endl; cout << "Signal = " << sig_value << endl; raise(SIGABRT); cout << "After signal handler is called" << endl; cout << "Signal = " << sig_value << endl; return 0; )
Kai paleisite programą, išvestis bus:
Prieš pradedant vadinti signalo tvarkytuvą Signalu = 0 Po signalo apdorojimo signalo = 6