进程清理

进程退出时,执行相应的清理函数

myatexit.c

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

void bye(void)
{
    printf("That was all, folks\n");
}

int main(void)
{
    long a;
    int i;

    a = sysconf(_SC_ATEXIT_MAX);
    printf("ATEXIT_MAX = %ld\n", a);

    i = atexit(bye);
    if (i != 0) {
        fprintf(stderr, "cannot set exit function\n");
        exit(EXIT_FAILURE);
    }

    printf("end of main\n");
    exit(EXIT_SUCCESS);
}

编译链接执行, 输出如下:

以上输出结果中, atexit()传入的函数最后执行.

posted @ 2016-01-22 20:45  zhanglong71  阅读(177)  评论(0编辑  收藏  举报