exit()函数

在代码中有时碰到:

exit(0);

可也经常碰到:

exit(1);

究竟exit()函数的参数0和1各自代表什么含义呢?

查看了MSDN后,明白了。对于exit()函数,其函数原型为:

void exit( int status );

status的值为EXIT_SUCCESS(0)表示程序执行成功,正常退出;status的值为EXIT_FAILURE(1)表示程序执行失败,异常退出。尽管exit()函数的返回值为void型,但是操作系统可以获取status的值,知道程序执行的情况。

时间: 2024-10-12 23:17:29

exit()函数的相关文章

return和exit函数的区别

在上Linux课的时候,老师提到一句,调用vfork产生的子进程就是为了使用exec族函数来执行其他的代码逻辑. 在子进程退出的时候有两种方式,exit和exec族函数,不能使用return,为什么不能用return呢,为什么只有vfork会不让用return呢? 于是我就写了这样的代码 1 #include<stdio.h> 2 #include<unistd.h> 3 #include<stdlib.h> 4 5 6 int main() 7 { 8 pid_t p

exit函数的妙用

写了一个程序,用来判断一个文件是否存在: #include<stdio.h> main() { FILE *fp; fp = fopen ("/home/wang/my/ct2.c", "r+"); if (fp == NULL) { printf("there is not this file!\n"); } else printf("the file is exist!\n"); fclose (fp); }

进程终止和exit函数

内核要执行一个应用程序,唯一的途径是通过系统调用,exec函数,exec又会调用启动程序,启动程序(通常是汇编语言)以类似下面的方式调用main函数: void exit(main(argc, argv)); 那么在main函数末尾使用exit(0)和使用return 0是等价的.这里有三个正常终止程序的函数: void exit(int status); // 先执行一些清理操作,然后进入内核 void _Exit(int status); // 立即进入内核,可在所有函数中调用 void _

atexit函数和exit函数的理解

p { margin-bottom: 0.25cm; line-height: 120% } 按照ISO C的规定,一个进程可以登记多达32个函数,这些函数将由exit自动调用,通常这32个函数被称为终止处理程序,并调用atexit函数来登记这些函数. 我们通常认为C语言的起始函数是main函数,实质上一个程序的启动函数并不一定是main函数,这个可以采用链接器来设置,但是gcc中默认main就是C语言的入口函数,在main函数启动之前,内核会调用一个特殊的启动例程,这个启动例程从内核中取得命令

atexit() 与 exit()函数

函数exit() 函数原型: exit()函数用于在程序运行的过程中随时结束程序,exit的参数state将会返回给操作系统,返回0表示程序正常结束,非0表示程序非正常结束.main函数结束时也会隐式地调用exit函数.exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流.关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件. exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束: exi

absort函数和exit函数

1. exit()函数会结束并退出程序. 1. abosrt()函数会触发程序的异常,然后程序后面的语句就不会执行了.用来提示错误.会出现:

Linux C _exit函数与exit函数的联系与区别

一.联系 1.功能上,_exit和exit函数都是让进程正常退出,即关闭进程所打开的文件描述符,释放已占用内存和其他资源. 二.区别 1._exit函数在头文件unistd.h中声明,而exit在头文件stdlib.h中声明. 2.执行_exit函数后,控制权立即返回给内核,而exit函数要先执行一些清除操作,然后才将控制权交给内核. 3._exit函数不会刷新I/O缓冲区,可能造成数据丢失,而exit函数是在_exit函数之上的一个封装,它在调用_exit函数之前,会先刷新I/O缓冲区,保证了

python sys.exit()函数说明

sys.exit()函数是通过抛出异常的方式来终止进程的,也就是说如果它抛出来的异常被捕捉到了的话程序就不会退出了. #!/usr/bin/python #!coding:utf-8 import sys if __name__=="__main__": try: sys.exit(100) except SystemExit,err: print '捕捉到SystemExit异常,SystemExit 并不派生自Exception 所以用Exception对它没有用' print '

Linux多任务编程之四:exit()函数及其基础实验(转)

来源:CSDN  作者:王文松   转自Linux公社 exit()和_exit()函数 函数说明 创建进程使用fork()函数,执行进程使用exec函数族,终止进程则使用exit()和_exit()函数.当进程执行到exit()或 _exit()函数时,进程会无条件的停止剩下的所有操作,清除各种数据结构,并终止本进程的运行.但是,这两个函数还是有区别的,其调用过程如图1所 示: 从图1可以看出,_exit()函数的作用是:直接使进程停止运行,清除其使用的内存空间,并清除其在内核中的各种数据结构