Linux 程序終止5種形式

2021-07-09 16:04:45 字數 1128 閱讀 1883

1、main函式的自然返回,return

2、呼叫exit函式

3、呼叫_exit函式

4、呼叫abort函式

5、接受能導致程序終止的訊號:

ctrl+c (^c)

sigint(sigint中斷程序)

sigquit (程序在因收到sigquit退出時會產生core檔案, 在這個意義上類似於乙個程式錯誤訊號)

ctrl + \ (^\quit)

其中1、2、3為正常終止,4、5異常終止

exit和_exit函式都是用來終止程序的。當程式執行到exit和_exit時,程序會無條件的停止剩下的所有操作,清除包括pcb在內的各種資料結構,並終止本程式的執行。

exit函式和_exit函式的最大區別在於exit函式在退出之前會檢查檔案的開啟情況,把檔案緩衝區中的內容寫回檔案,也就是清理i/o緩衝。

#include 

#include

int main()

//執行結果:

using exit

this is the content in buffer

#include 

#include

#include

int main()

//執行結果:

using exit

abort()是使異常程式終止,同時傳送sigabrt訊號給呼叫程序。

使用例項:

#include 

#include

int main()

else

return

0;}

執行結果:

can not

open: no such file

ordirectory

aborted (core dumped)

Linux 程序建立 程序終止

程序終止 fork 在linux中fork函式時非常重要的函式,它從已存在程序中建立乙個新程序。新程序為子程序,而原程序為父程序。include pid t fork void 返回值 自程序中返回0,父程序返回子程序id,出錯返回 1子程序複製父程序的pcb,因此複製了父程序的程式計數器,所以和父...

Linux程序終止訊號

sigterm 該訊號可由程序捕獲,使用該訊號讓程序有機會在退出之前做好清理工作,從而優雅地終止。sigint 當使用者按下中斷鍵 一般採用delete或ctrl c 時,終端驅動程式產生此訊號並傳送至前台程序組中的每乙個程序。sigkill 該訊號不能被程序捕捉和忽略,它向系統管理員提供了一種可靠...

終止前台程序 linux 程序管理

ps precess sstatus 程序狀態 ps aux a 顯示現行終端下所有程式 u 以使用者為主來顯示程式執行狀態 x 不宜終端機來區分 user 使用者名稱pid 執行id cpu 占用cpu百分比 mem 占用記憶體百分比 vsz占用虛擬記憶體大小 rss占用實際記憶體大小 tty終端...