Linux環境的函式

2021-12-30 05:23:51 字數 2575 閱讀 5379

正常的命令是:echo $path

在linux的 extarn 全域性變數 extarn char **entern

編碼#include

//定義乙個全域性變數

extern char **environ;

int main(void)

return 0;

}man文件

name

getenv, secure_getenv - get an environment variable

synopsis

#include

char *getenv(const char *name);

char *secure_getenv(const char *name);

feature test macro requirements for glibc (see fea‐

ture_test_macros(7)):

secure_getenv(): _gnu_source

name

setenv - change or add an environment variable

synopsis

#include

int setenv(const char *name, const char *value, int overwrite); //重寫 overwrite 不能為0 為0函式無意思

int unsetenv(const char *name);

feature test macro requirements for glibc (see fea‐

ture_test_macros(7)):

setenv(), unsetenv():

_bsd_source || _posix_c_source >= 200112l ||

_xopen_source >= 600

例子:

man文件

name

fork - create a child process

synopsis

#include

pid_t fork(void); //返回值有兩個 1,返回 子程序的pid 2,返回 0 pid_t 是結構體struct中的

例子

#include

#include

#include

#include

int main(void)

else if ( pid == 0) //判斷是否是子程序

else

printf("yyyyyyyyyyyyy\n");

return 0;

}### 注意點在建立子程序的時候 不能子執行緒再建立

正確的例子:

#include

#include

#include

#include

int main(void)

else if ( pid == 0) // 是子程序就跳出迴圈

else

}//列印子程序的pid和ppid

順序

shell程序 父

父子程序:讀時共享,寫時複製

父子程序共享:1,檔案描述符(開啟檔案的結構體)

2,mmap建立的對映區(程序的中)

fork之後父程序

linux環境下fork 函式簡介

fork 函式原型 pid t fork void 需要引入的標頭檔案 功能 fork函式通過系統呼叫建立乙個與原來程序幾乎完全相同的程序,並且兩個新的程序將併發執行。若fork函式成功呼叫,一次會返回兩個值,子程序返回0,父程序返回子程序id pid 若fork函式呼叫失敗,返回 1 相關函式 1...

linux環境程式設計 產生訊號函式的用法

前面我們介紹了 ipc中的訊號機制 signal 今天來介紹 可以產生訊號的函式用法 一.kill kill函式 給指定程序傳送指定訊號 不一定殺死 int kll pid t pid,int sig 成功 0 失敗 1 id 非法,訊號非法,普通使用者殺init程序等權級問題 設定errno si...

linux環境下的main函式傳遞引數的問題

對於乙個在linux環境下的程式,需要傳遞字串的引數,當這樣執行的時候 test 1 2 key1 value1 key2 value2 key3 value3 發現程式出現如下的結果 如何解釋呢?這是因為注意看我們的字串的內容,含有 這個特殊的符號,這個符號在linux的shell環境下,是表示在...