不同的作業系統採用不同的實現方式來建立程序。例如在unix系統中,每個程序都有唯一的程序識別號(pid)。父程序利用fork系統呼叫來建立新程序。
fork的返回值小於零,說明程序沒有建立成功;
fork的返回值等於零,表示子程序正在執行;
fork的返回值大於零,表示父程序還在執行。
子程序被建立後,一般使用execlp系統呼叫——用乙個程式取代原來記憶體空間中的內容,然後開始執行。這樣兩個程序就各行其道了。
如果父程序無事可做,就執行wait系統呼叫,讓自己插入睡眠佇列,等待子程序的終結。
下面程式展示了在unix/linux系統中,父程序建立子程序以及各自分開活動的情況。
#include
#include
#include
intmain
(int argc,
char
*arg)
else
if(pid==0)
else
}
上述**中,父程序建立了子程序,子程序會用開啟目錄/bin下面的ls命令
alias命令在linux unix下的使用
linux命令 alias 功能說明 設定指令的別名。語 法 alias 別名 指令名稱 補充說明 使用者可利用alias,自定指令的別名。若僅輸入alias,則可列出目前所有的別名設定。alias的效力僅及於該次登入的操作。若要每次登入是即自動設好別名,可在.profile 或.cshrc中設定指...
編寫Linux Unix守護程序
守護程序在linux unix系統中有著廣泛的應用。有時,開發人員也想把自己的程式變成守護程序。在建立乙個守護程序的時候,要接觸到子程序 程序組 會晤期 訊號機制 檔案 目錄和控制終端等多個概念。因此守護程序還是比較複雜的,在這裡詳細地討論linux unix的守護程序的編寫,總結出八條經驗,並給出...
Linux Unix下makefile檔案編寫例項
最近做linux 移植,剛剛學習了下 makefile 檔案的編寫,現將心得與大家分享。一 makefile 的規則在講述這個makefile 之前,還是讓我們先來粗略地看一看 makefile 的規則。target prerequisites command target也就是乙個目標檔案,可以是...