系统调用exit()实现进程的终止。exit()在Linux系统函数库stdlib.h中的函数声明如下:
void exit(int status);
exit()只有一个参数status,称作进程的退出状态,父进程可以使用它的低8位。exit()
的返回值通常用于指出进程所完成任务的成败。如果成功,则返回0;如果出错,则返回
非0值。
exit()除了停止进程的运行外,它还有一些其它作用,其中最重要的是,它将关闭所有
已打开的文件。如果父进程因执行了wait()调用而处于睡眠状态,那么子进程执行exit()会
重新启动父进程运行。另外,exit()还将完成一些系统内部的清除工作,例如缓冲区的清除
工作等。
除了使用exit()来终止进程外,当进程运行完其程序到达main()函数末时,进程会自动
终止。当进程在main()函数内执行一个return语句时,它也会终止。
在Linux中还有一个用于终止进程的系统调用_exit()。它在Linux系统函数库unistd.h
中被声明:
void _exit(int status)
其使用方法与exit()完全相同,但是它执行终止进程的动作而没有系统内部的清除工
作。因此,只有那些对系统内部了解比较深的程序员才使用它。