• <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)

            鏈接

            最新隨筆

            搜索

            最新評論

            四虎国产精品成人免费久久| av色综合久久天堂av色综合在| 人妻久久久一区二区三区| 午夜欧美精品久久久久久久| 久久亚洲私人国产精品vA | 国产精品一久久香蕉国产线看 | 婷婷久久五月天| 亚洲国产精品成人久久| 99久久精品国产综合一区| 伊人久久五月天| 国产精品久久久久影院色| 性高朝久久久久久久久久| 狠狠干狠狠久久| 一本久久免费视频| 久久综合久久综合久久| 久久久久久精品免费免费自慰| 秋霞久久国产精品电影院| 久久久久国产精品人妻| 大美女久久久久久j久久| 伊人久久综合成人网| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久精品国产99久久无毒不卡| 久久精品国产亚洲Aⅴ蜜臀色欲| 狠狠色丁香久久婷婷综合| 久久99精品九九九久久婷婷| 久久久久久久久久久久中文字幕| 色偷偷88欧美精品久久久| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 国产精品久久久亚洲| 久久久亚洲AV波多野结衣| yellow中文字幕久久网 | 狠狠色丁香婷婷久久综合五月| 国产精品美女久久久免费| 精品久久久久久无码专区| 亚洲综合日韩久久成人AV| 亚洲欧美一级久久精品| 性欧美大战久久久久久久| 性做久久久久久久久久久| 久久久这里只有精品加勒比| 久久婷婷人人澡人人爽人人爱| 久久国产影院|