中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

建設(shè)部資質(zhì)上報(bào)系統(tǒng)網(wǎng)站/重慶百度推廣優(yōu)化

建設(shè)部資質(zhì)上報(bào)系統(tǒng)網(wǎng)站,重慶百度推廣優(yōu)化,無(wú)錫網(wǎng)站推,哪家做網(wǎng)站最便宜🕺作者: 主頁(yè) 我的專欄C語(yǔ)言從0到1探秘C數(shù)據(jù)結(jié)構(gòu)從0到1探秘Linux菜鳥刷題集 😘歡迎關(guān)注:👍點(diǎn)贊🙌收藏??留言 🏇碼字不易,你的👍點(diǎn)贊🙌收藏??關(guān)注對(duì)我真的…

??

🕺作者:?主頁(yè)

我的專欄
C語(yǔ)言從0到1
探秘C++
數(shù)據(jù)結(jié)構(gòu)從0到1
探秘Linux
菜鳥刷題集

😘歡迎關(guān)注:👍點(diǎn)贊🙌收藏??留言

🏇碼字不易,你的👍點(diǎn)贊🙌收藏??關(guān)注對(duì)我真的很重要,有問(wèn)題可在評(píng)論區(qū)提出,感謝閱讀!!!

前言

前面我們講述了使用fork函數(shù)進(jìn)行進(jìn)程的創(chuàng)建,既然有創(chuàng)建就有終止,那么本篇將向大家講述進(jìn)程終止的相關(guān)知識(shí)~

進(jìn)程終止與操作系統(tǒng)

進(jìn)程終止時(shí)操作系統(tǒng)做了什么呢?當(dāng)然是要釋放進(jìn)程申請(qǐng)的相關(guān)內(nèi)核數(shù)據(jù)結(jié)構(gòu)和對(duì)應(yīng)的數(shù)據(jù)和代碼。本質(zhì)就是釋放系統(tǒng)資源。

進(jìn)程退出場(chǎng)景

進(jìn)程退出有三種場(chǎng)景如下:

  • 代碼運(yùn)行完畢,結(jié)果正確
  • 代碼運(yùn)行完畢,結(jié)果不正確
  • 代碼異常終止

這里我們要展開講一下。在我們使用c語(yǔ)言進(jìn)行編程的時(shí)候,我們會(huì)注意到main函數(shù)的返回值,總是return 0,為什么總是0呢?因?yàn)樗?strong>進(jìn)程的退出碼。那他一定得是0嗎?并不是的。他返回這個(gè)數(shù)字的意義在于返回給你上一級(jí)進(jìn)程,用來(lái)評(píng)判該進(jìn)程執(zhí)行結(jié)果用的。如果非零值就說(shuō)明是,程序是有錯(cuò)誤的,非零值有無(wú)數(shù)個(gè),不同的非零值就可以標(biāo)識(shí)不同的錯(cuò)誤原因,所以它的作用就是在我們的程序運(yùn)行結(jié)束之后,結(jié)果不正確,可以方便我們定位錯(cuò)誤的原因細(xì)節(jié)。

舉個(gè)例子:

測(cè)試代碼:

#include <stdio.h>
#include <unistd.h>int main()
{int a[3]={0};printf("%d\n",a[1])//注意看,這里少了個(gè) ;return 0;
}

?這里還要介紹一個(gè)指令,它可以查看上一個(gè)進(jìn)程運(yùn)行錯(cuò)誤的原因。

echo $?

?返回2

是什么意思呢?別急!

我們先來(lái)查看一下這些“非零值”都代表著什么?

#include <stdio.h>
#include <string.h>
#include <unistd.h>
int main()
{for(int number = 0; number < 150; number++){printf("%d: %s\n", number, strerror(number));//將數(shù)字代表的錯(cuò)誤原因展示出來(lái)} return 0;
}

查看結(jié)果:

進(jìn)程常見退出方法

正常終止(可以通過(guò) echo $? 查看進(jìn)程退出碼):

  • 1. 從main返回
  • 2. 調(diào)用exit
  • 3. _exit

異常退出:

  • ctrl + c,信號(hào)終止

_exit函數(shù)

#include <unistd.h>
void _exit(int status);
參數(shù):status 定義了進(jìn)程的終止?fàn)顟B(tài),父進(jìn)程通過(guò)wait來(lái)獲取該值

?說(shuō)明:雖然status是int,但是僅有低8位可以被父進(jìn)程所用。所以_exit(-1)時(shí),在終端執(zhí)行$?發(fā)現(xiàn)返回值是255。

exit函數(shù)

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

?exit最后也會(huì)調(diào)用_exit, 但在調(diào)用_exit之前,還做了其他工作:

1. 執(zhí)行用戶通過(guò) atexit或on_exit定義的清理函數(shù)。
2. 關(guān)閉所有打開的流,所有的緩存數(shù)據(jù)均被寫入
3. 調(diào)用_exit

?

?測(cè)試一下:

exit函數(shù)

#include<stdio.h>
#include <stdlib.h>
int main()
{printf("hello");exit(0);
}

運(yùn)行:

?

?_exit函數(shù)

#include<stdio.h>
#include <stdlib.h>
int main()
{printf("hello");_exit(0);
}

?運(yùn)行:

?因?yàn)槲覀冊(cè)O(shè)置的字符串后面沒(méi)有“\n”,也就是說(shuō)它會(huì)待在緩沖區(qū)中,然后我們會(huì)發(fā)現(xiàn)_exit函數(shù)會(huì)直接結(jié)束,而exit函數(shù)則是先把緩存區(qū)內(nèi)的數(shù)據(jù)沖刷出來(lái)才結(jié)束,其實(shí)exit是庫(kù)函數(shù),而_exit是系統(tǒng)接口,exit函數(shù)最后會(huì)調(diào)用操作系統(tǒng)的_exit函數(shù)。

這里給大家留下一個(gè)問(wèn)題,printf——\n數(shù)據(jù)保存在緩沖區(qū)中的,請(qǐng)問(wèn)緩沖區(qū)在哪里?誰(shuí)維護(hù)?但是我們知道它一定不在操作系統(tǒng)內(nèi)部,如果是操作系統(tǒng)維護(hù)的,緩沖區(qū)_exit就一定能夠刷出來(lái)!今天我只能告訴你是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)給我們維護(hù)的。懂得的小伙伴可以在評(píng)論區(qū)打出一起交流~

return退出

return是一種更常見的退出進(jìn)程方法。執(zhí)行return n等同于執(zhí)行exit(n),因?yàn)檎{(diào)用main的運(yùn)行時(shí)函數(shù)會(huì)將main的返回值當(dāng)做 exit的參數(shù)。

后記

本篇我們主要講述了進(jìn)程的退出場(chǎng)景,進(jìn)程的終止,正常情況下它有三種退出的方式,異常情況可以使用ctrl+c的方式終止~

http://www.risenshineclean.com/news/60.html

相關(guān)文章:

  • 南昌網(wǎng)站建設(shè)哪家好/什么軟件可以推廣自己的產(chǎn)品
  • 個(gè)人網(wǎng)站 作品/站長(zhǎng)之家工具
  • 吳謹(jǐn)含廠家不愿做網(wǎng)站/平臺(tái)網(wǎng)站開發(fā)公司
  • 網(wǎng)站項(xiàng)目策劃書實(shí)例/網(wǎng)絡(luò)推廣深圳有效渠道
  • wordpress 支持html5/網(wǎng)站標(biāo)題算關(guān)鍵詞優(yōu)化嗎
  • 在京東上怎樣做網(wǎng)站/免費(fèi)平臺(tái)推廣
  • 阿里自助建站平臺(tái)/網(wǎng)站優(yōu)化公司收費(fèi)
  • 如何建立一個(gè)網(wǎng)站分享教程/推廣賺傭金的軟件排名
  • 網(wǎng)站設(shè)計(jì)寬屏/品牌策略有哪些
  • 網(wǎng)站建設(shè)系統(tǒng)哪個(gè)好/seo點(diǎn)擊排名軟件營(yíng)銷工具
  • 建設(shè)文明網(wǎng) 聯(lián)盟網(wǎng)站的/學(xué)seo推廣
  • 武漢網(wǎng)站建設(shè) loongnet/百度云官網(wǎng)
  • 如何建設(shè)一個(gè)屬于自己的網(wǎng)站/引擎優(yōu)化seo
  • 南寧做網(wǎng)站外包/品牌宣傳策略有哪些
  • 怎樣做網(wǎng)站反鏈/北京網(wǎng)站優(yōu)化多少錢
  • 軟件外包收費(fèi)標(biāo)準(zhǔn)/重慶網(wǎng)站關(guān)鍵詞排名優(yōu)化
  • 網(wǎng)站建設(shè)ppt答辯/seo優(yōu)化包括什么
  • 網(wǎng)站建設(shè)網(wǎng)址網(wǎng)站制作/長(zhǎng)沙百度seo
  • 咸寧市住房和城鄉(xiāng)建設(shè)委員會(huì)網(wǎng)站/數(shù)字營(yíng)銷策劃
  • 給網(wǎng)站平臺(tái)做推廣叫什么/產(chǎn)品推廣平臺(tái)
  • 門戶網(wǎng)站源碼入駐/站長(zhǎng)之家收錄查詢
  • 國(guó)外b2b網(wǎng)站是什么意思/百度指數(shù)官網(wǎng)
  • 網(wǎng)站做支付需要準(zhǔn)備什么東西嗎/seo技術(shù)培訓(xùn)唐山
  • 哪一個(gè)景區(qū)網(wǎng)站做的最成熟/營(yíng)銷的手段和方法
  • 網(wǎng)站后臺(tái)管理怎么做/德陽(yáng)seo
  • 安卓軟件開發(fā)app/優(yōu)化關(guān)鍵詞的方法包括
  • 指紋鎖在什么網(wǎng)站做宣傳好/注冊(cè)網(wǎng)址
  • 如何查看網(wǎng)站空間大小/個(gè)人發(fā)布信息免費(fèi)推廣平臺(tái)
  • 加強(qiáng)政府網(wǎng)站建設(shè)的總結(jié)/西安seo代運(yùn)營(yíng)
  • 有做瀏覽單的網(wǎng)站/百度小說(shuō)風(fēng)云榜2022