国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

淺談linux下的一些常用函數(shù)的總結(jié)(必看篇)

2019-11-02 16:20:25
字體:
供稿:網(wǎng)友

1.exit()函數(shù)

exit(int n)  其實(shí)就是直接退出程序,

因?yàn)槟J(rèn)的標(biāo)準(zhǔn)程序入口為int main(int argc, char** argv),返回值是int型的。

一般在shell下面,運(yùn)行一個(gè)程序,然后使用命令echo $?就能得到該程序的返回值,也就是退出值,在main()里面,你可以用return n,也能夠直接用exit(n)來做。unix默認(rèn)的習(xí)慣正確退出是返回0,錯(cuò)誤返回非0。

重點(diǎn):單獨(dú)的進(jìn)程是返回給操作系統(tǒng)的。如果是多進(jìn)程,是返回給父進(jìn)程的。

在父進(jìn)程里面調(diào)用waitpid()等函數(shù)得到子進(jìn)程退出的狀態(tài),以便作不同處理

返回值不能超過255.

在stdlib.h里面有定義

#define    EXIT_SUCCESS    0 #define    EXIT_FAILURE    1 

C程序的終止分為兩種: 正常終止和異常終止.

正常終止分為: return, exit, _exit, _Exit, pthreade_exit

異常中指分為: abort, SIGNAL, 線程響應(yīng)取消

主要說一下正常終止的前4種, 即exit系列函數(shù).

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

以上3個(gè)函數(shù)的區(qū)別是:

exit()(或return 0)會調(diào)用終止處理程序和用戶空間的標(biāo)準(zhǔn)I/O清理程序(如fclose), _exit和_Exit不調(diào)用而直接由內(nèi)核接管進(jìn)行清理.

#include<stdlib.h>int atexit(void (*function)(void))

返回值:成功返回0,失敗返回非零數(shù).

ISO C規(guī)定, 一個(gè)進(jìn)程最對可登記32個(gè)終止處理函數(shù), 這些函數(shù)由exit按登記相反的順序自動(dòng)調(diào)用. 如果同一函數(shù)登記多次, 也會被調(diào)用多次.

#include<stdlib.h>#include<unistd.h>static void my_exit1(){printf("first exit handlern/n");}static void my_exit2(){ printf("second exit handlern/n");}int main(){ if (atexit(my_exit2) != 0)printf("can't register my_exit2n/n"); if (atexit(my_exit1) != 0)printf("can't register my_exit1n/n"); if (atexit(my_exit1) != 0)printf("can't register my_exit1n/n"); printf("main is donen/n"); return 0;}
addia@addia-Lenovo-B470:~$ ./testmain is donenfirst exit handlernfirst exit handlernsecond exit handlern

以上就是小編為大家?guī)淼臏\談linux下的一些常用函數(shù)的總結(jié)(必看篇)全部內(nèi)容了,希望大家多多支持腳本之家~

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 句容市| 临江市| 顺义区| 丹东市| 青冈县| 巴彦县| 合山市| 新源县| 婺源县| 伊吾县| 茂名市| 罗源县| 大余县| 黄冈市| 伊川县| 庐江县| 萝北县| 三台县| 台山市| 武川县| 荥经县| 青阳县| 沂水县| 太原市| 沛县| 聊城市| 高碑店市| 宁国市| 淮北市| 武穴市| 化州市| 马鞍山市| 松江区| 浙江省| 乐都县| 建昌县| 宁海县| 神木县| 准格尔旗| 余江县| 麻城市|