Linux 多程序程式設計例項(一)

2021-10-11 17:52:56 字數 1032 閱讀 3588

乙個程序,建立兩個子程序,利用exec函式族使兩個子程序執行不同的程式。子程序1執行ls -l命令後正常返回,子程序2暫停5s後異常返回,父程序阻塞方式等待程序1,非阻塞方式等待程序2,等父程序收集到程序2的返回資訊後就退出。

#include

#include

#include

#include

#include

intmain

(int argc,

const

char

*ar**)

else

if(pid ==0)

else

}while

(k ==0)

;}}/************ 子程序處理 *******************/if(

0== i)

}elseif(

1== i)

}printf

("parent process exit!!!\n");

//父程序結束

exit(0);}

#include

#include

#include

#include

intmain

(int argc,

const

char

*ar**)

exit(0);}

#include

#include

#include

#include

intmain

(int argc,

const

char

*ar**)

sleep(5

);exit(-

1);}

程式執行結果如下:

linux多程序程式設計

在linux中,執行的乙個程序,會占去linux的三個地方,區,堆疊區和資料區.如果同時執行多個相同的程式,他們就會使用相同的 區,區中存放的就程式的 但是資料區和堆疊區分別存放的是程式的資料,全域性變數和區域性變數,因此即使是相同的程式,也不可同時使用相同的資料和堆疊區.include inclu...

linux 多程序程式設計基礎

一 linux下程序的理解 linux環境下乙個程序在記憶體中有三部分資料 資料段 堆疊段和 段 段 就是存放程式 的資料,如果有數個程序執行乙個程式,那麼他們就可以使用同乙個 段 堆疊段 存放的是子程式的返回位址 引數以及程式的區域性變數 資料段 存放程式的全域性變數 常數以及動態資料分配的資料空...

linux多程序c程式設計

多程序程式設計 今天覆習了多程序程式設計,共涉及只是大致有程序的建立於結束,退出,終止,等待,休眠,獲取程序號,執行外部的應用程式等的函式使用,還了了解程序與執行緒的區別於相同之處,在此對於pid,ppid,pigid,puid等獲取方式與相關表示就不在陳述,建立程序的兩個主要函式vfork與for...