fork函式用來建立linux程序,使用前需要標頭檔案 #include ,函式原型如下:
pid_t fork(void);
1、在父程序中該函式返回子程序的id號,在子程序中函式返回0;
2、子程序與父程序的全域性變數名稱和位址相同,但是實際對應的實體地址是不同的;
3、子程序是父程序的拷貝,雖然不是完全繼承父程序的狀態,但是只要是能夠繼承的在fork之前執行過的**也相當於子程序執行了一次,舉例如下:
在下面的**中,在判斷pid之前建立了共享記憶體空間,所以在fork之後子程序可以直接使用buffer訪問共享空間。如果是在if判斷pid之後的程式裡建立,則需要在另乙個程序**中加入獲取共享記憶體位址的**進行對映。
uint8_t* buffer
int main()
else
return 0;
}
共享記憶體涉及的標頭檔案有#include 、#include 、#include
多核系統中,程序預設在多個核心執行,根據需求可以指定程序在特定的核心上執行。使用前需要標頭檔案#include 和巨集定義 #define _gnu_source。
cpu_set_t mask;
cpu_zero(&mask);
cpu_set(1,&mask);
sched_setaffinity(0,sizeof(cpu_set_t),&mask);
函式原型如下:
int sched_setaffinity(pid_t pid, size_t cpusetsize,cpu_set_t *mask);
pid:程序pid,如果是0表示本程序;
cpusetsize:通常為sizeof(cpu_set_t);
mask:
使用taskset -p 可以檢視pid程序的affinity mask,數字的二進位制中1的位就表示該程序跑的核心。
taskset -pc 指定pid在core上執行。
標頭檔案說明:
#define _gnu_source
#include//標準輸入輸出
#include//posix標準api
#include//_lp64 和 _ilp32 的定義
#include#include#include#include#include#include
Linux的初學 筆記
1 clear 清除當前螢幕 2 pwd 檢視當前工作的絕對目錄 絕對目錄 3 ls 檢視當前目錄下的內容 ls help檢視該命令的詳細操作 4 cd 改變工作目錄 5 help基本會帶有的幫助引數,基本命令都會有 6 touch 建立檔案 後加檔名,如下列例子 7 rm 刪除檔案 後面加刪除的檔...
linux初學筆記
1 linux各個目錄資料夾的大致功能 根目錄 bin 存放必要的命令 boot 存放核心以及啟動所需的檔案 dev 存放系統配置檔案 etc 存放系統配置檔案 home 普通使用者的宿主目錄,使用者資料存放在其主目錄中 lib 存放必要的執行庫 mnt 存放臨時的對映檔案系統,通常用來掛載使用 p...
Linux初學筆記
vi的使用 vi filename 存在則開啟,不存在則建立該檔案 無論是否存在都是先在緩衝區進行操作後存到磁碟的 vi filename進入編輯介面以後,可以按esc,然後輸入?後接所要查詢的字串,即可在當前檔案中找到查詢的字串。按esc,然後輸入 後接如下字元後回車 wq儲存並退出 q強行退出v...