• <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) 評論(0)  編輯 收藏 引用 所屬分類: Linux編程

            <2012年2月>
            2930311234
            567891011
            12131415161718
            19202122232425
            26272829123
            45678910

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(4)

            隨筆分類(378)

            隨筆檔案(329)

            鏈接

            最新隨筆

            搜索

            最新評論

            久久精品国产日本波多野结衣| 99久久婷婷免费国产综合精品| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 久久久久久久综合日本| 久久精品无码专区免费青青| 久久99精品国产99久久6| 国产产无码乱码精品久久鸭| 久久夜色精品国产亚洲av| 色成年激情久久综合| 亚洲午夜久久久久妓女影院| 久久精品亚洲乱码伦伦中文| 亚洲婷婷国产精品电影人久久| 精品久久综合1区2区3区激情 | 久久久无码人妻精品无码| 久久免费精品一区二区| 久久精品国产亚洲AV蜜臀色欲| 国产激情久久久久影院小草| 中文字幕无码免费久久| 久久久久人妻一区精品| 久久精品无码专区免费青青 | 久久久久免费视频| 无码精品久久久久久人妻中字| 色播久久人人爽人人爽人人片aV| 国产精品久久久天天影视香蕉 | 久久se精品一区二区影院 | 亚洲欧美日韩精品久久亚洲区| 久久久亚洲欧洲日产国码aⅴ| 久久频这里精品99香蕉久| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 国产成人无码精品久久久免费 | 国产91色综合久久免费分享| 色欲久久久天天天综合网精品| 久久久久无码精品国产app| 天天综合久久久网| 久久精品国产亚洲麻豆| 热久久这里只有精品| 成人资源影音先锋久久资源网| 国产精品99精品久久免费| 韩国免费A级毛片久久| 成人久久久观看免费毛片| 97久久久久人妻精品专区|