zoukankan      html  css  js  c++  java
  • Linux:25进程的终止

    缘起

    内容

    25.1、进程的终止:_exit()和exit()

    • void exit(int status);
    • void _exit(int status);
    • exit()比_exit()多做了一些动作:
      • 调用退出处理程序
      • 刷新stdio流缓冲区
      • 执行_exit()系统调用

    25.2、进程终止的细节

    • 无论进程是否正常终止,都会发生:
      • 关闭所有文件描述符
      • 释放进程的文件锁
      • 分离共享内存段

    25.3、退出处理程序

    注册退出处理程序

    • int atexit(void (*func)(void));
      • Return 0 on success
    • int on_exit(void (*func)(int,void*),void *arg);
      • Return 0 on success, or nonzero on error

    程序范例

    25.4、fork()、stdio缓冲区以及_exit()之间的交互

    例子

    • 标准输出定向到终端时,缺省为行缓冲
    • 标准输出定向到文件时,缺省为块缓冲

    25.5、总结

    25.6、练习

    履历&总结

    • 内容参考《Unix系统编程手册》chap25的框架,20210105看了第1遍,然后总结了个框架,代码啥的也没写,目前还没确定代码的用途。
  • 相关阅读:
    Unix Shell常用命令
    传输信号
    硬盘 光驱 跳线问题
    常见病毒类型
    Unix操作系统文件结构
    数字模拟信号 单双信道传输
    双绞线
    Unix操作系统目录存放内容
    EasyRecovery数据恢复工具
    什么叫做泛解析
  • 原文地址:https://www.cnblogs.com/fewolflion/p/14238744.html
Copyright © 2011-2022 走看看