九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
linux fork execv的使用

1、linux fork和vfork的區(qū)別:

調(diào)用fork時(shí),fork 創(chuàng)造的子進(jìn)程復(fù)制了父親進(jìn)程的資源,包括內(nèi)存的內(nèi)容task_struct內(nèi)容,新舊進(jìn)程使用同一代碼段,復(fù)制數(shù)據(jù)段和堆棧段,這里的復(fù)制采用了注明的copy_on_write技術(shù),即一旦子進(jìn)程開(kāi)始運(yùn)行,則新舊進(jìn)程的地址空間已經(jīng)分開(kāi),兩者運(yùn)行獨(dú)立運(yùn)行。

調(diào)用vfork時(shí),在調(diào)用exec函數(shù)和exit函數(shù)之前,子進(jìn)程和父進(jìn)程共享數(shù)據(jù)段數(shù)據(jù)。vfork函數(shù)創(chuàng)建的子進(jìn)程完全運(yùn)行在父進(jìn)程的地址空間上,子進(jìn)程對(duì)虛擬地址空間任何數(shù)據(jù)的修改都為父進(jìn)程所見(jiàn)。在vfork時(shí),先運(yùn)行子進(jìn)程,阻塞父進(jìn)程運(yùn)行。

如下面的程序:

int status;
 int number = 0;
 pid_t cpid;
 cpid = fork();
 if(cpid == 0) //child thread
 {
  char *argv[]={"ls","-la",NULL};
  number = 5;
  printf("in child %d  number=%d\n",getpid(),number);
  int ret =execv("/bin/ls",argv);
   if(ret == -1)
  {
   printf("exit error");
   perror("exit");
   _exit(100);
  }
  //  printf(" ret = %d before exit\n",ret);
 }
 else //father thread
 {
  printf("in father %d  number=%d\n",getpid(),number);
  waitpid(cpid,&status,0);

 }
 printf("wait pid status=%d\n",status);

因?yàn)槭褂玫氖莊ork,這里in child %d  number=5,但是in father %d  number=0;

如果是的是vfork,in father %d  number=5和in child %d  number=5相同。

2、如果調(diào)用exec函數(shù),執(zhí)行其他的進(jìn)程,建議使用vfork,節(jié)省時(shí)間和資源。

3、在調(diào)用exec函數(shù)的時(shí)候,如果exec有返回,則是返回錯(cuò)誤,錯(cuò)誤代碼在errno中,用perror打印,否則沒(méi)有返回值,執(zhí)行完成命令之后,直接退出線(xiàn)程。如上例子中,如果exec正確執(zhí)行,printf(" ret = %d before exit\n",ret);則不會(huì)執(zhí)行。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
用waitpid檢測(cè)子進(jìn)程的退出狀態(tài)
Linux下的進(jìn)程的
UNIX環(huán)境編程學(xué)習(xí)筆記(18)
fork與vfork的區(qū)別?
Linux進(jìn)程學(xué)習(xí)總結(jié) fork()和vfork()的學(xué)習(xí)
Linux fork與vfork的深入分析
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服