高階程式設計之程序(二)

2021-07-09 14:00:17 字數 1172 閱讀 1295

進  程 

1、程序的退出

return   ===>只有在main函式中執行才能將程序退出。 

exit()   ===》程序退出函式,會自動重新整理快取區。

_exit(); ===》強制退出程序,不會重新整理快取區。

2、特殊程序

2.1  孤兒程序  ===》父程序退出,而子程序單獨存在。

子程序變成孤兒程序。

2.2  殭屍程序  ===》父程序存在,子程序退出。

父程序沒有**子程序資源,

子程序變成殭屍程序。

2.3  守護程序  ===》父程序變為init子程序,並且脫離終端

控制的後台服務程式。

3、程序的資源**。

標頭檔案:

#include

#include

3.1  wait

原型:pid_t wait(int *status);

功能:用於**子程序的退出後資源。

該函式具有阻塞等待功能,一般用於建立者程序使用

可以任意**子程序,不限制次序。

引數:status 要**的子程序退出狀態

如果不關心子程序的退出狀態用null表示。

如果要**狀態需要事先定義變數,

並用 wexitstatus(status)來轉換**的資源。

返回值:成功 **的子程序pid

失敗  -1;

3.2  waitpid

原型:pid_t waitpid(pid_t pid, int *status, int options);

功能:可以指定**pid程序的退出資源。

引數:pid 要**資源的子程序pid

status 子程序退出時候的狀態

options **方式: 0  表示阻塞方式**

wnohang 非阻塞方式**。

返回值:成功 **的子程序pid

失敗  -1;

練習:設計乙個多程序程式,完成如下功能:

程序1:讀主函式傳參的第乙個引數的檔案內容並列印。

程序2:讀主函式傳參的第二個引數的檔案內容並列印。

依次類推,有幾個引數就fork幾個程序並完成檔案操作。

./a.out 1.txt 2.txt  ===>分別用兩個程序列印各自檔案內容。

程序exec函式族

守護程序

python高階程式設計之程序

乙個正在執行的程式或軟體就是乙個程序,是作業系統進行資源分配的基本單位 乙個程式執行後至少有乙個程序,乙個程序預設有乙個執行緒,執行緒依賴程序。process group target name args kwargs group 指定程序組,目前只能使用none target 執行的目標任務名 n...

python的高階程式設計 之程序

2013年02月26日 綜合 共 2288字 字型大小 小 中 大 初步了解python多程序 之後,我們可以繼續探索multiprocessing包中更加高階的工具。這些工具可以讓我們更加便利地實現多程序。1.程序池 之前我們使用process建立程序的時候,每次建立乙個程序。程序池 proces...

Linuxc高階程式設計之程序1

1.列印當前所有環境變數的值 2.新增新的環境變數newenv first 3.修改環境變數newenv的值為second 4.列印環境變數newenv的值。源 include include include extern char environ int main int argc,char ar...