• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天下

            記錄修行的印記

            execl函數(shù) && vfork()

            //execl函數(shù) && vfork()

            #include <unistd.h>
            #include <sys/types.h>
            #include <stdio.h>
            main() 
            {
                int pid;
                if((pid=vfork()) == 0) {                                    //(0)
                    execl("/bin/ls", "ls", "-al", "/etc/passwd", (char *)0);//(1)
                    
            //char * argv[] = {"ls", "-al", "/etc/passwd", 0};
                    
            //execvp("ls", argv);                                    //(2)
                }
                else if(pid > 0) {
                    printf("I'm a parent!\n");
                }
                
            }
            ---------------------------------------------------
            (0) vfork()和execl()配套使用可以提高效率(必須配套使用)
            (1) int execvp(const char *file, char *const argv[]);
               函數(shù)execvp()應(yīng)該先構(gòu)造一個(gè)指向各參數(shù)的指針數(shù)組,然后將該數(shù)組地址作為參數(shù)
            (2) int execl(const char *path, const char *arg, );
               函數(shù)execl()要求將新程序的每個(gè)命令行參數(shù)都說明成一個(gè)單獨(dú)的參數(shù),這種參數(shù)表以空指針結(jié)尾
            (3)vfork創(chuàng)建的子進(jìn)程后,父進(jìn)程會(huì)被阻塞,直到子進(jìn)程執(zhí)行execl和exit
            (4)當(dāng)進(jìn)程調(diào)用一種exec函數(shù)時(shí),該進(jìn)程完全由新程序代換,而新程序則從其main函數(shù)開始執(zhí)行。因?yàn)檎{(diào)用exec并不創(chuàng)建新進(jìn)程,所以前后的進(jìn)程ID并未改變。exec只是用另一個(gè)新程序替換了當(dāng)前進(jìn)程的正文、數(shù)據(jù)、堆和棧段。
            (5)當(dāng)前進(jìn)程的正文都被替換了,那么execl后的語句,即便execl退出了,都不會(huì)被執(zhí)行。
            (6)execl成功則不返回值, 失敗返回-1, 失敗原因存于errno中
            $ ./a.out 
            -rw-r--r-- 1 root root 1448 2007-05-16 17:30 /etc/passwd
            I'm a parent!

            posted on 2012-07-05 09:41 天下 閱讀(1259) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Linux編程

            <2012年4月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(4)

            隨筆分類(378)

            隨筆檔案(329)

            鏈接

            最新隨筆

            搜索

            最新評(píng)論

            99久久亚洲综合精品成人| 久久ZYZ资源站无码中文动漫| 77777亚洲午夜久久多喷| 国产精品永久久久久久久久久| 久久久久久免费一区二区三区| 少妇熟女久久综合网色欲| 91精品国产91久久久久久青草 | 国产精品热久久无码av| 久久久人妻精品无码一区| 久久青青草原精品影院| 久久黄视频| 久久人人爽人人爽AV片| 日日躁夜夜躁狠狠久久AV| 亚洲国产高清精品线久久| 久久久久久毛片免费看| 亚洲αv久久久噜噜噜噜噜| 亚洲午夜久久久影院| 久久精品国产亚洲AV蜜臀色欲 | 成人妇女免费播放久久久| 久久婷婷五月综合色奶水99啪| 1000部精品久久久久久久久| 99久久夜色精品国产网站| 国产精品gz久久久| 国产精品视频久久| 久久99精品久久久久子伦| 久久亚洲精品无码VA大香大香| 国产精品午夜久久| 国内精品久久人妻互换| 久久亚洲熟女cc98cm| 国产99久久久国产精品小说| 久久久久99精品成人片| 国产精品成人精品久久久| 伊人久久大香线蕉精品| 久久99国产精品一区二区| 99久久综合国产精品二区| 久久亚洲精品人成综合网| 性欧美丰满熟妇XXXX性久久久| 亚洲精品成人久久久| 亚洲精品视频久久久| 久久久WWW成人免费毛片| 久久精品国产亚洲Aⅴ蜜臀色欲|