zoukankan      html  css  js  c++  java
  • [学习笔记]进程终止的5种方式

    进程终止的5种方式

    q  正常退出

    q  从main函数返回

    q  调用exit

    q  调用_exit

    q  异常退出

    q  调用abort   产生SIGABOUT信号

    q  由信号终止  ctrl+c SIGINT

     

       

    eg:

    区别1:清空缓冲区的操作

    int main(void)

    {

             printf("hello itcast");

             //return 0;

             //exit(0);

             fflush(stdout);

             _exit(0);

    }

    区别2:exit会调用终止处理程序

    有关终止处理程序

    q  atexit可以注册终止处理程序,ANSI C规定最多可以注册32个终止处理程序。

    q  终止处理程序的调用与注册次序相反

    q  man atexit

    int atexit(void (*function)(void));

    man 2 atexit

    总结exit与_exit区别

    1)_exit是一个系统调用,exit是一个c库函数

    2)exit会执行清楚I/O缓存

    3)exit会执行调用终止处理程序

  • 相关阅读:
    lightoj-1050
    lightoj-1305
    lightoj-1354
    lightoj-1433
    lightoj-1227
    lightoj-1189
    lightoj-1182
    lightoj-1011
    lightoj-1009
    lightoj-1023
  • 原文地址:https://www.cnblogs.com/shichuan/p/4432503.html
Copyright © 2011-2022 走看看