linux應(yīng)用開發(fā)-多進(jìn)程程序設(shè)計(jì)
來(lái)源:程序員人生 發(fā)布時(shí)間:2015-08-03 09:04:18 閱讀次數(shù):2781次
linux利用開發(fā)-多進(jìn)程程序設(shè)計(jì)
1 創(chuàng)建進(jìn)程
fork和vfork的區(qū)分
1 fork創(chuàng)建的子進(jìn)程有自己的數(shù)據(jù)段和堆棧而vfork創(chuàng)建的子進(jìn)程跟父進(jìn)程同享數(shù)據(jù)段
2 進(jìn)程退出
父進(jìn)程能使用return 0和exit(0)而子進(jìn)程只能使用exit(0)
3 execl和fork的區(qū)分
execl不創(chuàng)建子進(jìn)程,而是覆蓋后面的代碼段
fork創(chuàng)建子進(jìn)程,不覆蓋代碼段
4 相應(yīng)的函數(shù)
1 創(chuàng)建進(jìn)程
函數(shù)名 fork
函數(shù)原形 pid_t fork(void)
函數(shù)功能 創(chuàng)建1個(gè)子進(jìn)程
所屬頭文件 #include <unistd.h>
返回值 成功在父進(jìn)程中返回創(chuàng)建的子進(jìn)程的PID,在子進(jìn)程中返回0
失敗返回⑴
參數(shù)說(shuō)明 無(wú)
2 創(chuàng)建進(jìn)程


函數(shù)名 vfork
函數(shù)原形 pid_t vfork(void)
函數(shù)功能 創(chuàng)建1個(gè)子進(jìn)程,阻塞父進(jìn)程
所屬頭文件 #include <sys/types.h> #include <unistd.h>
返回值
成功在父進(jìn)程中返回子進(jìn)程的pid,在子進(jìn)程中返回0
失敗返回⑴
參數(shù)說(shuō)明
無(wú)參數(shù)
3 進(jìn)程等待
函數(shù)名
wait
函數(shù)原形
Pid_t wait(int *status)
函數(shù)功能
掛起調(diào)用它的進(jìn)程直到子進(jìn)程接受
所屬頭文件
#include <sys/tyeps.h>
#include <sys/wait.h>
返回值
成功返回終止的進(jìn)程的pid
失敗返回⑴
參數(shù)說(shuō)明
記錄子進(jìn)程的退出狀態(tài)
4 履行程序

函數(shù)名
execl
函數(shù)原形
int execl(const char *pathname, const char *arg, …)
函數(shù)功能
運(yùn)行可履行文件
所屬頭文件
#include <unistd.h>
返回值
成功不返回
失敗返回⑴
參數(shù)說(shuō)明
pathname可履行文件的路徑
arg通常為可履行文件運(yùn)行需要的參數(shù),沒有了就用NULL
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)