缘起
内容
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));
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遍,然后总结了个框架,代码啥的也没写,目前还没确定代码的用途。
posted @
2021-01-05 23:56
im天行
阅读(
94)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步