新聞中心
linux execl函數(shù)是Linux下一個(gè)應(yīng)用比較廣泛的frame函數(shù),也是Linux下一個(gè)功能比較強(qiáng)大的函數(shù)之一,它可以幫助開(kāi)發(fā)者實(shí)現(xiàn)程序的復(fù)雜功能。首先來(lái)看看linux execl函數(shù)的函數(shù)原型:

int execl(const char *path, const char *arg, …);
execl函數(shù)有三個(gè)參數(shù),其中path參數(shù)表示執(zhí)行程序的文件路徑,arg表示程序運(yùn)行時(shí)的第一個(gè)參數(shù),后面的參數(shù)通過(guò)…參數(shù)指定。
以下是一個(gè)execl的使用實(shí)例,假設(shè)我們要實(shí)現(xiàn)的功能是想利用execl函數(shù)啟動(dòng)另外一個(gè)程序,并傳入一些參數(shù):
#include
int main(int argc, char *agrv[])
{
PID_t pid; //進(jìn)程號(hào)
int status; //用于存儲(chǔ)子進(jìn)程的狀態(tài)
pid = fork(); //創(chuàng)建子進(jìn)程
if(pid
{
printf(“Create process failed, errno is %d\n”, errno);
return -1;
}
else if(pid == 0)
{
execl(“/bin/echo”, “echo”, “Hello, World!”, NULL);
exit(0); //子進(jìn)程必須調(diào)用exit函數(shù),以便它的狀態(tài)能夠被忽略
}
else
{
//父進(jìn)程等待子進(jìn)程
waitpid(pid, &status, 0);
printf(“Child process return with %d\n”, status);
}
return 0;
}
上面的代碼通過(guò)fork()創(chuàng)建一個(gè)子進(jìn)程,子進(jìn)程專(zhuān)注于用execl運(yùn)行一個(gè)echo同時(shí)傳入了一些參數(shù),如“Hello,World!”, 子進(jìn)程執(zhí)行完畢,父進(jìn)程通過(guò)waitpid等待子進(jìn)程,同時(shí)得到返回值。
總結(jié):Linux execl函數(shù)是Linux下一個(gè)應(yīng)用比較廣泛的frame函數(shù),它可以幫助開(kāi)發(fā)者實(shí)現(xiàn)程序的復(fù)雜功能,常用作用是啟動(dòng)一個(gè)新進(jìn)程并傳入一些參數(shù),實(shí)現(xiàn)進(jìn)程的復(fù)雜屬性設(shè)置。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專(zhuān)注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。
網(wǎng)站名稱(chēng):Linuxexecl函數(shù)的使用方法和實(shí)例詳解(linuxexecl)
標(biāo)題路徑:http://m.5511xx.com/article/ccdejic.html


咨詢
建站咨詢
