嵌入式學習 Linux程序控制 實踐篇

2021-08-22 13:37:44 字數 1226 閱讀 3825

程序等待

/*

* #include * #include */

pid_t getpid(); // 獲取本程序id, 查詢詳細資訊 man getpid

pid_t getppid(); // 獲取父程序id

關鍵api:fork。fork的核心是呼叫一次返回兩次。一次是父程序返回的,一次是子程序返回的。父程序中,fork返回

建立的子程序pid。在子程序中,fork返回0。如果出現錯誤,fork返回乙個負值。

#include 

#include

int main()

輸出兩次,count兩次count都是1。原因是堆疊內容被拷貝了。

區別exec啟動乙個新的程式,替換原有的程序,此程序pid不會變。

execl

/*

* #include

* arg1~argn:被執行程式需要的命令列引數,包含程式名。以空指標null結束

*/int execl(const char * path, const char * arg1, ...);

eg

#include 

int main()

execlp
/*

* #include

* path:不包含路徑,將從path環境變數中查詢該程式

* arg1~argn:被執行程式需要的命令列引數,包含程式名。以空指標null結束

*/int execlp(const char * path, const char * arg1, ...);

execv
/*

* #include * path:完整路徑

* arg1~argn:被執行程式需要的命令列引數,包含程式名。以空指標null結束

*/int execv(const

char * path, const

char * arg1);

system.c
#include 

void main()

/*

* #include

* #include

* 祖師當前程序,直到子程序退出

*/pid_t wait(int * status);

嵌入式Linux程序 程序間通訊

最常用的無名管道,有名管道,訊息佇列,訊號,訊號量,共享記憶體等程序間的通訊方式。其實後面網路通訊套位元組 socket的方式也可以歸為程序通行。include include include include 程序讀函式 void read data int 程序寫函式 void write dat...

嵌入式linux多程序程式設計

嵌入式linux多程序程式設計 在主程式顯示文字選單,提供如下服務,要求每個服務都通過生成子程序來提供。服務包括 日曆資訊顯示,日期資訊顯示,判斷閏年服務,檔案複製功能,數字排序功能,退出功能。include include include include include include void ...

嵌入式linux如何學習

俗話說萬事開頭難 然後中間難,最後難?剛開始的時候,你是否根本就不知如何開始,上網查資料被一堆堆新名詞搞的找不到北,去圖書館看書也是找不到方向?又是arm,又是linux,又是uboot頭都大了。不知道自己究竟從 開始?嵌入式linux如何學習 簡單說,從arm基礎知識到裸機程式設計,從ucosii...