第七章 进程环境-进程终止

函数名: atexit
头文件:#include<stdlib.h>
功 能: 注册终止函数(即main执行结束后调用的函数)
用 法: int atexit(void (*func)(void));
注意:exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。

 #include "apue.h"

 static void my_exit1(void);
 static void my_exit2(void);

 int main(void)
 {
   if(atexit(my_exit2)!=0)
   {
     err_sys("can't register my_exit2");
   }

   if(atexit(my_exit1)!=0)
   {
     err_sys("can't register my_exit1");
   }

   if(atexit(my_exit1)!=0)
   {
     err_sys("can't register my_exit1");
   }

   printf("main is done\n");

   return (0);
 }

 static void my_exit1(void)
 {
   printf("my_exit1 exit handler\n");
 }

 static void my_exit2(void)
 {
   printf("my_exit2 exit handler\n");
 }

jiang@AY140524110335068908Z:~/new_apue$ gcc exit.c -o exit.o
jiang@AY140524110335068908Z:~/new_apue$ ./exit.o
main is done
my_exit1 exit handler
my_exit1 exit handler
my_exit2 exit handler






你可能感兴趣的:(第七章 进程环境-进程终止)