Linux系統程式設計 程序(一)

2021-09-29 01:21:06 字數 1070 閱讀 3944

目錄

一、什麼是程序

二、程序的「生老病死」

三、程序相關函式

當elf格式的可執行程式被執行的時候,程式被載入到記憶體中執行,此時核心產生了乙個名為task_struct{}的結構體來表示與管理這個程序。其中:

一般流程為:父程序呼叫fork函式,生成子程序(使用fork產生的子程序與父程序一模一樣,並且子程序會從fork返回值後的下一條邏輯語句開始執行)子程序執行結束,執行exit退出父程序使用wait或者waitpid**子程序的資源

1、子程序的建立2、程序的退出3、子程序資源的**(如果子程序資源沒有被**,則會變成殭屍程序,占用系統資源)4、在乙個程序中呼叫另外乙個程序(system呼叫其他程序是通過shell呼叫其他程序,本程式程序與被呼叫的程序之間沒有關係。)

5、子程序中執行其他程式(程式的替換,覆蓋原有**)

其中:execl 中的l 與execv 中的v 的含義

l: list  列表,把引數一一列表寫在引數裡面,寫完之後,需要加乙個null。

v: vector 向量、陣列,把引數寫進去。

Linux系統程式設計之程序

程序狀態 4 5種 就緒 初始化 執行,掛起 等待 停止 pbc成員 1 程序id 2 程序狀態 3 程序切換需要儲存和恢復的cpu暫存器 4 描述虛擬位址空間資訊 5 描述控制終端的資訊 6 當前工作目錄 7 umask掩碼 8 檔案描述符 9 訊號相關的資訊 10 使用者和使用者組id 11 會...

linux系統程式設計 多程序

最近發現每天都在寫業務 好多基礎的東西都忘了,今天開始每天覆習一點基礎知識。今天先複習多程序 程序是具有一定功能的程式的一次執行活動,是系統資源分配和排程的基本單位 孤兒程序 父程序退出,子程序沒有退出,被init程序收養 init程序 是核心啟動後執行的第乙個程序,是所有孤兒程序的子程序。init...

《Linux系統程式設計 程序管理》

在linux的核心的五大組成模組中,程序管理模組時非常重要的一部分,它雖然不像記憶體管理 虛擬檔案系統等模組那樣複雜,也不像程序間通訊模組那樣條理化,但作為五大核心模組之一,程序管理對我們理解核心的運作 對於我們以後的程式設計非常重要。同時,作為五大組成模組中的核心模組,它與其他四個模組都有聯絡。下...