簡(jiǎn)要對(duì)比C語(yǔ)言中三個(gè)用于退出進(jìn)程的函數(shù)
C語(yǔ)言_exit()函數(shù):結(jié)束進(jìn)程執(zhí)行
頭文件:
#include <unistd.h>
定義函數(shù):
void _exit(int status);
函數(shù)說(shuō)明:_exit()用來(lái)立刻結(jié)束目前進(jìn)程的執(zhí)行, 并把參數(shù)status 返回給父進(jìn)程, 并關(guān)閉未關(guān)閉的文件. 此函數(shù)調(diào)用后不會(huì)返回, 并且會(huì)傳遞SIGCHLD 信號(hào)給父進(jìn)程, 父進(jìn)程可以由wait 函數(shù)取得子進(jìn)程結(jié)束狀態(tài).
附加說(shuō)明:_exit ()不會(huì)處理標(biāo)準(zhǔn)I/O 緩沖區(qū), 如要更新緩沖區(qū)請(qǐng)使用exit ().
C語(yǔ)言on_exit()函數(shù):設(shè)置程序正常結(jié)束前調(diào)用的函數(shù)
頭文件:
#include <stdlib.h>
定義函數(shù):
int on_exit(void (* function) (int void*), void *arg);
函數(shù)說(shuō)明:on_exit()用來(lái)設(shè)置一個(gè)程序正常結(jié)束前調(diào)用的函數(shù). 當(dāng)程序通過(guò)調(diào)用exit()或從main 中返回時(shí), 參數(shù)function 所指定的函數(shù)會(huì)先被調(diào)用, 然后才真正由exit()結(jié)束程序. 參數(shù)arg 指針會(huì)傳給參數(shù)function函數(shù), 詳細(xì)情況請(qǐng)見(jiàn)范例.
返回值:如果執(zhí)行成功則返回0, 否則返回-1, 失敗原因存于errno 中.
范例
#include <stdlib.h>
void my_exit(int status, void *arg)
{
printf("before exit()!\n");
printf("exit (%d)\n", status);
printf("arg = %s\n", (char*)arg);
}
main()
{
char * str = "test";
on_exit(my_exit, (void *)str);
exit(1234);
}
執(zhí)行:
before exit()! exit (1234) arg = test
C語(yǔ)言atexit()函數(shù):設(shè)置程序正常結(jié)束前調(diào)用的函數(shù)
頭文件:
#include <stdlib.h>
定義函數(shù):
int atexit (void (*function) (void));
函數(shù)說(shuō)明:atexit()用來(lái)設(shè)置一個(gè)程序正常結(jié)束前調(diào)用的函數(shù). 當(dāng)程序通過(guò)調(diào)用exit()或從main 中返回時(shí), 參數(shù)function 所指定的函數(shù)會(huì)先被調(diào)用, 然后才真正由exit()結(jié)束程序.
返回值:如果執(zhí)行成功則返回0, 否則返回-1, 失敗原因存于errno 中.
范例
#include <stdlib.h>
void my_exit(void)
{
printf("before exit () !\n");
}
main()
{
atexit (my_exit);
exit(0);
}
執(zhí)行:
before exit()!
上一篇:C語(yǔ)言讀取文件流的相關(guān)函數(shù)用法簡(jiǎn)介
欄 目:C語(yǔ)言
下一篇:詳解C語(yǔ)言中的fopen()函數(shù)和fdopen()函數(shù)
本文標(biāo)題:簡(jiǎn)要對(duì)比C語(yǔ)言中三個(gè)用于退出進(jìn)程的函數(shù)
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/2811.html
您可能感興趣的文章
- 04-02c語(yǔ)言函數(shù)調(diào)用后清空內(nèi)存 c語(yǔ)言調(diào)用函數(shù)刪除字符
- 04-02c語(yǔ)言的正則匹配函數(shù) c語(yǔ)言正則表達(dá)式函數(shù)庫(kù)
- 04-02func函數(shù)+在C語(yǔ)言 func函數(shù)在c語(yǔ)言中
- 04-02c語(yǔ)言中對(duì)數(shù)函數(shù)的表達(dá)式 c語(yǔ)言中對(duì)數(shù)怎么表達(dá)
- 04-02c語(yǔ)言用函數(shù)寫(xiě)分段 用c語(yǔ)言表示分段函數(shù)
- 04-02c語(yǔ)言編寫(xiě)函數(shù)冒泡排序 c語(yǔ)言冒泡排序法函數(shù)
- 04-02c語(yǔ)言沒(méi)有round函數(shù) round c語(yǔ)言
- 04-02c語(yǔ)言分段函數(shù)怎么求 用c語(yǔ)言求分段函數(shù)
- 04-02C語(yǔ)言中怎么打出三角函數(shù) c語(yǔ)言中怎么打出三角函數(shù)的值
- 04-02c語(yǔ)言調(diào)用函數(shù)求fibo C語(yǔ)言調(diào)用函數(shù)求階乘


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 04-02c語(yǔ)言函數(shù)調(diào)用后清空內(nèi)存 c語(yǔ)言調(diào)用
- 04-02func函數(shù)+在C語(yǔ)言 func函數(shù)在c語(yǔ)言中
- 04-02c語(yǔ)言的正則匹配函數(shù) c語(yǔ)言正則表達(dá)
- 04-02c語(yǔ)言用函數(shù)寫(xiě)分段 用c語(yǔ)言表示分段
- 04-02c語(yǔ)言中對(duì)數(shù)函數(shù)的表達(dá)式 c語(yǔ)言中對(duì)
- 04-02c語(yǔ)言編寫(xiě)函數(shù)冒泡排序 c語(yǔ)言冒泡排
- 04-02c語(yǔ)言沒(méi)有round函數(shù) round c語(yǔ)言
- 04-02c語(yǔ)言分段函數(shù)怎么求 用c語(yǔ)言求分段
- 04-02C語(yǔ)言中怎么打出三角函數(shù) c語(yǔ)言中怎
- 04-02c語(yǔ)言調(diào)用函數(shù)求fibo C語(yǔ)言調(diào)用函數(shù)求
隨機(jī)閱讀
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?


