有8种方式使进程终止,其中5种为正常终止,它们是:
(1) 从main返回; (2) 调用exit; (3) 调用_exit或_Exit; (4) 最后一个线程从其启动例程返回; (5) 从最后一个线程调用pthread_exit; 异常终止有3种方式,它们是: (1) 调用abort; (2) 接收到一个信号; (3) 最后一个线程对取消请求做出响应; C语言在调用main函数之前会调用一个特殊的启动例程,启动例程从内核取得命令行参数和环境变量值,然后为调用main函数做好安排,程序从main函数返回后立即调用exit函数。如果启动例程以C代码形式表示(实际上该例程常常用汇编语言编写),则它调用main函数的形式可能如下: exit(main(argc, argv)); 1、退出函数 3个函数用于正常终止一个程:_exit和_Exit立即进入内核,exit则先执行一些清理处理,然后返回内核。 #include <stdio.h> void exit(int stat); void _Exit(int stat); #include <unistd.h> void _exit(int stat); main函数返回一个整型值与用该值调用exit是等价的。于是在main函数中: exit(0); 等价于 return 0; 2、函数atexit 按照ISO C的规定,一个进程可以登记多至32个函数,这些函数由exit自动调用。我们称这些函数为终止处理程序,并调用atexit函数来登记这些函数。exit调用这些函数的顺序与它们登记时候的顺序相反。同一函数如被登记多次,也会被调用多次。 |
进程终止
最新推荐文章于 2023-04-09 18:54:02 发布