11.2.  signal.h                                                 313

       signal (). 
    .     
    ,   ,  
,   .

// my_abrt(),   SIGABRT
signal(SIGABRT, my_abrt);

//  ,   SIGABRT
signal(SIGABRT, SIG_DFL);

// SIGFPE
signal(SIGFPE, SIG_IGN) ;

    (installing)  (handler). 
    ,  .

     ,    
.      ,  
  .

  signal, 

//,    signal.h

include <signal.h>
include <time.h>
^include <iostream.h>
ttinclude <stdlib.h>

void cntrl_c_handler(int sig) ;

inline double clk_psec()
{

return sfcatic_cast<double>(clock())/CLOCKS_PER_SEC;

int main()
{

int i = 0, j ;

cout  "  j  ,  j: ";

 in  j ;

j *= 1000000;

signal(SIGINT, cntrl_c_handler) ;

cout  clk_psec()  "  \n";

while (1) {
++i;

if (i > j) {

cout  clk_psec()  "  \";

cout  "   "  j/1000000
 "  "  endl;

raise(SIGINT);