exit()在结束调用它的进程之前,要进行如下步骤:
1.cleanup();
2.在atexit()注册的函数;
最后调用_exit()函数
#include
#include
#include
int main(int argc, char *argv[])
{
pid_t pid;
printf("test me!\n");
pid = fork();
if (pid > 0) {
wait(NULL);
_exit(0);
}
else {
_exit(0);
}
}
$a.out
guorh@maomao:~/code/aupex$ a.out
test me!
guorh@maomao:~/code/aupex$ a.out > tmp
guorh@maomao:~/code/aupex$ cat tmp
tmp中没有任何字符,因为_exit直接进入内核退出,没有刷新缓存。
阅读(2811) | 评论(1) | 转发(0) |