Linux下程序控制實驗

2021-06-23 00:52:32 字數 1839 閱讀 1308

(1)fork()建立子程序

#include 

#include 

#include 

#include 

#include 

#include 

#include 

/* 程序建立 */

void main(void) 

else

if(child==0) // 子程序

while(((child=wait(&status))==-1)&(errno==eintr));  //子程序未結束

if(child==-1) 

printf("wait error: %s\n", strerror(errno)); 

else

if(!status)             // 子程序退出值為0

printf("child %ld terminated normally return status is zero\n", child); 

else

if(wifexited(status))   // 子程序退出值0

printf("child %ld terminated normally return status is %d\n", child, wexitstatus(status)); 

else

if(wifsignaled(status)) // 子程序未獲訊號而退出

printf("chlid %ld terminated due to signal %d not caught\n", child, wtermsig(status)); 

}    

(2)程序等待waitpid()

#include 

#include 

#include 

#include 

#include 

void die(const

char *msg) 

void child2_do()  } 

void child1_do(pid_t child2, char *argv) 

else  

if (pw == 0)  

}while (pw == 0); 

if (pw == child2)  

} else  

} void father_do(pid_t child1, char *argv) 

else  

if (pw == 0)  

}while (pw == 0); 

if (pw == child1)  

} else  

} int main(int argc, char *argv) 

child1 = fork(); 

if (child1 < 0)  

else

if (child1 == 0)  

else

if (child2 == 0)  

else  

} else  

return 0; 

}

(3)結束程序函式 kill()

#include 

#include 

#include 

#include 

#include 

int main( void ) 

else

if ( 0 == childpid ) 

else

else } 

} exit(exit_success); 

}     

本文出自 「mr~鐘」 部落格,請務必保留此出處

linux下的程序控制

1.程序概念 馮諾依曼體系結構 現代計算機的硬體體系結構 五大硬體單元 輸入裝置 鍵盤 輸出裝置 顯示器 儲存裝置 記憶體 運算器和控制器 cpu 硬體結構決定軟體行為 資料都是圍繞記憶體流動的 輸入裝置獲取資料儲存到記憶體中,cpu處理資料,是從記憶體中獲取資料,運算完畢放入記憶體,輸出裝置從記憶...

實驗1 程序控制

編寫程式,演示多程序併發執行和程序軟中斷 管道通訊。1 父程序使用系統呼叫pipe 建立乙個管道,然後使用系統呼叫fork 建立兩個子程序,子程序1和子程序2 2 子程序1每隔1秒通過管道向子程序2傳送資料 i send you x times.x初值為1,每次傳送後做加一操作 3 子程序2從管道讀...

linux 程序控制

什麼是程序 每乙個程序在系統中都有唯一的id標示它,此id為程序標示符 程序標示符的型別 pit t,其實是乙個無符號整形 乙個程序標示符對應唯一的乙個程序,多個程序標示符可以對應同乙個程式 程序和程式的區別 程式 可執行的二進位制 檔案,這種檔案載入到記憶體中執行就得到了乙個程序 程序 同乙個程式...