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

當前位置: 首頁 > news >正文

建設部資質上報系統網站/重慶百度推廣優(yōu)化

建設部資質上報系統網站,重慶百度推廣優(yōu)化,無錫網站推,哪家做網站最便宜🕺作者: 主頁 我的專欄C語言從0到1探秘C數據結構從0到1探秘Linux菜鳥刷題集 😘歡迎關注:👍點贊🙌收藏??留言 🏇碼字不易,你的👍點贊🙌收藏??關注對我真的…

??

🕺作者:?主頁

我的專欄
C語言從0到1
探秘C++
數據結構從0到1
探秘Linux
菜鳥刷題集

😘歡迎關注:👍點贊🙌收藏??留言

🏇碼字不易,你的👍點贊🙌收藏??關注對我真的很重要,有問題可在評論區(qū)提出,感謝閱讀!!!

前言

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

進程終止與操作系統

進程終止時操作系統做了什么呢?當然是要釋放進程申請的相關內核數據結構和對應的數據和代碼。本質就是釋放系統資源。

進程退出場景

進程退出有三種場景如下:

  • 代碼運行完畢,結果正確
  • 代碼運行完畢,結果不正確
  • 代碼異常終止

這里我們要展開講一下。在我們使用c語言進行編程的時候,我們會注意到main函數的返回值,總是return 0,為什么總是0呢?因為他是進程的退出碼。那他一定得是0嗎?并不是的。他返回這個數字的意義在于返回給你上一級進程,用來評判該進程執(zhí)行結果用的。如果非零值就說明是,程序是有錯誤的,非零值有無數個,不同的非零值就可以標識不同的錯誤原因,所以它的作用就是在我們的程序運行結束之后,結果不正確,可以方便我們定位錯誤的原因細節(jié)。

舉個例子:

測試代碼:

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

?這里還要介紹一個指令,它可以查看上一個進程運行錯誤的原因。

echo $?

?返回2

是什么意思呢?別急!

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

#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));//將數字代表的錯誤原因展示出來} return 0;
}

查看結果:

進程常見退出方法

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

  • 1. 從main返回
  • 2. 調用exit
  • 3. _exit

異常退出:

  • ctrl + c,信號終止

_exit函數

#include <unistd.h>
void _exit(int status);
參數:status 定義了進程的終止狀態(tài),父進程通過wait來獲取該值

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

exit函數

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

?exit最后也會調用_exit, 但在調用_exit之前,還做了其他工作:

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

?

?測試一下:

exit函數

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

運行:

?

?_exit函數

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

?運行:

?因為我們設置的字符串后面沒有“\n”,也就是說它會待在緩沖區(qū)中,然后我們會發(fā)現_exit函數會直接結束,而exit函數則是先把緩存區(qū)內的數據沖刷出來才結束,其實exit是庫函數,而_exit是系統接口,exit函數最后會調用操作系統的_exit函數。

這里給大家留下一個問題,printf——\n數據保存在緩沖區(qū)中的,請問緩沖區(qū)在哪里?誰維護?但是我們知道它一定不在操作系統內部,如果是操作系統維護的,緩沖區(qū)_exit就一定能夠刷出來!今天我只能告訴你是C語言標準庫給我們維護的。懂得的小伙伴可以在評論區(qū)打出一起交流~

return退出

return是一種更常見的退出進程方法。執(zhí)行return n等同于執(zhí)行exit(n),因為調用main的運行時函數會將main的返回值當做 exit的參數。

后記

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

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

相關文章:

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