• <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精品久久久久久动态图 | 无码八A片人妻少妇久久| 性做久久久久久久久浪潮| 久久人人爽人人爽人人片AV不| 久久久久久亚洲Av无码精品专口 | 久久受www免费人成_看片中文| 7777精品伊人久久久大香线蕉| 97久久超碰国产精品旧版| 久久九色综合九色99伊人| 久久久久成人精品无码中文字幕 | 人妻少妇精品久久| 精品一区二区久久| 久久久精品国产免大香伊| 99久久综合狠狠综合久久| 日韩人妻无码精品久久免费一| 久久久久亚洲AV成人网人人网站| 香蕉久久夜色精品升级完成| 99久久精品国产一区二区| 亚洲国产精品无码久久久蜜芽| 久久久亚洲精品蜜桃臀| 久久精品人人做人人爽电影蜜月 | 亚洲成色www久久网站夜月| 久久久久亚洲AV成人网人人网站| 九九精品99久久久香蕉| 亚洲va中文字幕无码久久不卡| 亚洲色欲久久久久综合网| 国产福利电影一区二区三区久久久久成人精品综合 | 国内精品久久久久影院薰衣草| 国产成人久久久精品二区三区| 91精品国产综合久久婷婷| 日日噜噜夜夜狠狠久久丁香五月| 热99RE久久精品这里都是精品免费| 国产99久久久久久免费看| 亚洲成人精品久久| 国产精品免费久久久久影院 | 亚洲国产一成久久精品国产成人综合| 久久精品9988| 久久婷婷五月综合97色直播| 久久精品国产色蜜蜜麻豆|