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

            newplan

            阿基米德在洗澡時發現浮力原理,高興得來不及穿上褲子,跑到街上大喊:Eureka(我找到了)。
            posts - 39, comments - 26, trackbacks - 0, articles - 4
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            unix_簡單shell實現

            Posted on 2007-11-06 23:18 山泉彎延 閱讀(311) 評論(0)  編輯 收藏 引用 所屬分類: UNIX Programming
            #include "apue.h"
            #include 
            <sys/wait.h>
            extern  char 
            **environ;
            static void sign_Int(
            int signnal)
            {printf(
            "Be interrupted\n%%");}
            static void sign_Quit(
            int signnal)
            {printf(
            "quit\n%%");
            }

            int 
            main(void)
            {
               
                char 
            *argv[20];
                pid_t pid;
                
            int status;
                
            if(signal(SIGINT,sign_Int)==SIG_ERR)
                   err_sys(
            "signal error\n");
                
            if(signal(SIGQUIT,sign_Quit)==SIG_ERR)
                     err_sys(
            "signal error\n");
                printf(
            "%%");
                
            while (1)
                {        char buf[MAXLINE];
                         
            int index=0,i=0;
                       
            if(fgets(buf,MAXLINE,stdin)==NULL)
                         break;  
                    
            while( buf[i] != '\0'&&buf[i]!='\n' )
                    {
                       
            if(buf[i] != ' ' )
                       {  
                           argv[index]
            = buf+i;
                           index
            ++;
                           
            for(;buf[i]!= ' '&&buf[i]!='\n';i++);
                           if(buf[i]=='\n')
                           break;               
                           buf[i]
            ='\0';
                            i++;
                            
            while(buf[i]==' ') 
                                   i++
                       }  
                    } 
                    buf[i]
            ='\0';
                    argv[index] = NULL;
                    
            if((pid = fork() ) < 0 ) 
                       err_sys(
            "fork error\n");
                    
            else if( pid == 0 )
                    {
                       execve(argv[
            0],argv,environ);
                       err_ret(
            "coundn't execute:%s",argv[0]);           
                       
            exit(127);
                      }
                    
            if(( pid = waitpid(pid,&status,0)) < 0)
                       err_sys(
            "waitpid error\n");
                      printf(
            "%%"); 
                 }
                 
            exit(0);
            }
            久久婷婷五月综合成人D啪| 国产亚洲色婷婷久久99精品| 久久精品国产精品亚洲| 九九久久精品无码专区| 18禁黄久久久AAA片| 亚洲中文字幕无码久久精品1| 一本色道久久综合狠狠躁| 粉嫩小泬无遮挡久久久久久| 国产精品99久久久久久猫咪| 7777精品久久久大香线蕉| 久久不见久久见免费视频7| 国产亚洲成人久久| 色综合久久无码中文字幕| 久久精品成人| 精品久久久久久无码中文字幕一区| 久久精品国产国产精品四凭 | 国产精品久久久久久五月尺| 久久99国产综合精品女同| 久久久久久久亚洲精品| 久久久久久无码Av成人影院| 久久久久亚洲爆乳少妇无 | 99精品国产综合久久久久五月天| 国产成人久久精品区一区二区| 欧美久久一级内射wwwwww.| 久久精品国产精品亚洲精品| 国产激情久久久久久熟女老人| 国产免费久久精品99久久| 99国产欧美精品久久久蜜芽| 久久中文字幕人妻熟av女| 理论片午午伦夜理片久久| 国产精品日韩深夜福利久久| 国产精品久久99| 97久久精品无码一区二区天美| 亚洲精品高清国产一线久久| 久久久久久国产精品美女| 香蕉99久久国产综合精品宅男自| 国产69精品久久久久9999| 99久久成人18免费网站| 亚洲国产二区三区久久| A级毛片无码久久精品免费| 91精品国产高清久久久久久国产嫩草|