有8种方式使进程终止。其中5种为正常终止,他们是:

  1. 从main返回;
  2. 调用exit;
  3. 调用_exit或_Exit;
  4. 最后一个线程从其启动例程返回;
  5. 从最后一个线程调用pthread_exit。

异常终止有3种方式,它们是:

  1. 调用abort();
  2. 接到一个信号;
  3. 最后一个线程取消请求作出响应。

1.退出函数

3个函数用于正常终止一个程序:_exit和_Exit立即进入内核,exit则先执行一些清理处理,然后返回内核。

#include <stdlib.h>

void exit(int status);
void _Exit(int status);

#include <unistd.h>
void _exit(int status);

2. 函数atexit

按照ISOC的规定,一个进程可以登记多至32个函数,这些函数将由exit函数自动调用。

#include <stdlib.h>

int atexit(void (*func)(void));

注意,内核使程序执行的唯一方法是调用一个exec函数。

results matching ""

    No results matching ""