linux系統程式設計 exec函式族

2021-08-28 16:59:15 字數 1158 閱讀 8470

例項**:

#include

#include

#include

intmain

(void

)else

if(pid>1)

else

return0;

}

hello.c : 輸出自己pid和環境變數

#include

#include

extern

char

** environ;

intmain

(void

)

#include

#include

#include

intmain

(void

)else

if(pid>1)

else

;int tmp =

execle

("./xx/hello",,

null

,envp)

;//hello 上面的程式

if(tmp<0)

}return0;

}

執行結果: hello 程序的 環境變數 變成 aa=bbccdd

,argv);// ls借助path環境變數

(1)

path:傳遞的是可執行程式的路徑

file:可執行程式名,依靠環境變數來找

arg:傳遞 「argv[0]」 ,「argv[1]」,…null

argv: 定義乙個字串指標陣列(命令列引數) 傳進去 :char* argv=;:

envp: 定義乙個字串指標陣列(環境變數) 傳進去: char* envp=;

(2)(3)

Linux系統程式設計 exec函式族

fork 建立子程序之後執行的是和父程序相同的程式 可能執行不同的 分支 子程序呼叫exec函式執行另一程式,該程序的使用者空間 和資料完全被新程式替換,從新程式的啟動例程開始執行。exec並不傳建立新程序,所以呼叫exec前後該程序的id並未改變。exec函式族 int execl const c...

linux系統程式設計之exec函式族

linux函式exec函式族 這來函式是用來執行一些可執行檔案的,常用在fork出子程序後,在子程序中執行。也就是替換子程序的東西,子程序的東西全部被替換,但只是替換,不會產生乙個新的程序,程序的id號也不會改變。include extern char environ int execl const...

Linux系統程式設計之exec族函式

目錄 一 說在前面 二 函式介紹 2.1 函式原型 2.2 函式功能 2.3 函式引數 2.3.1引數傳遞方式 2.3.2 區別與不同 2.4 函式關係 三 例項歷程 3.1 execl 示例 3.2 execlp 示例 3.3 execv 示例 3.4 execvp 示例 3.6 execve 示...