《unix高階環境程式設計》程序環境 環境變數

2021-06-27 06:04:56 字數 1672 閱讀 3651

環境字串一般表示如下:

[cpp]view plain

copy

name = value;

//環境變數名,環境變數值

以下根據對環境變數不同的操作得到不同的結果,包括獲取環境變數當前值,新增環境變數,修改環境變數和刪除環境變數;相對應的函式分別為getenv、putenv、setenv和unsetenv函式,具體實現功能和返回值如下:

[cpp]view plain

copy

/** 函式功能:獲取環境變數值; 

* 返回值:指向與name關聯的value的指標,若未找到則返回null; 

* 函式原型:

*/#include 

char

*getenv(

const

char

*name);    

/** 函式功能:增加環境變數;  

* 返回值:若成功則返回0,若出錯則返回非0;  

* 函式原型:  

*/#include 

intputenv(

char

*str);    

/* 說明:

* 把name = value的字串存放在環境表中,如果name已存在,則先刪除其原來的定義;  

*//* 

* 函式功能:修改環境變數; 

* 返回值:若成功則返回0,若出錯則返回-1; 

* 函式原型: 

*/#include 

intsetenv(

const

char

*name, 

const

char

*value, 

intrewrite);    

intunsetenv(

const

char

*name);    

/* 說明:

* setenv將name設定為value值,若name已經存在,當rewrite為非0時,先刪除其現有定義;  

* 若rewrite為0,則不刪除其現有定義,即不修改name的字元變數;  

* * unsetenv刪除name的定義;

* */

測試程式:

[cpp]view plain

copy

#include 

#include 

#include "apue.h"

intmain(

void

)    

程式輸出:

[cpp]view plain

copy

getnev: user = nifengweijifen.  

after putenv: linux= linux3.8.  

after setenv: rewrite= 0 and linux= linux3.8.  

after setenv: rewrite != 0 and linux= goodbye linux.  

after unsetenv: linux= (null).  

《unix高階環境程式設計》程序環境 程序終止

當核心執行c程式時 使用乙個exec函式執行 在呼叫mian函式前先呼叫乙個特殊的啟動例程。可執行程式檔案將此啟動例程指定為程式的起始位址。下面是c程式啟動和終止的流程,由圖中可以知道,程序的終止根據不同的函式呼叫是不一樣的,其中 exit和 exit函式是終止程序直接進入核心,exit函式則先執行...

unix環境高階程式設計 守護程序

守護程序 daemon 是生存期長的一種程序,常常在系統引導裝入時啟動,僅在系統關閉時終止,因為它們沒有控制終端,unix有很多守護程序,它們執行日常事務活動。守護程序的特徵 執行指令 ps zxj a顯示其他使用者擁有的程序狀態,x顯示沒有終端控制的程序狀態,j顯示與作業有關的資訊 會話id 程序...

UNIX環境高階程式設計 守護程序

守護程序也稱精靈程序,是生存期較長的一種程序。它們通常在系統自舉時啟動,僅在系統關閉時才終止。因為它們沒有控制終端,所以它們都是在後台執行的。各標題意義 父程序id,程序id,程序組id,會話id,終端名稱,終端程序組id,使用者id 系統程序依賴於作業系統實現。父程序id為0的各程序通常是核心程序...