• <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);
            }
            久久99久久成人免费播放| 性高朝久久久久久久久久| 久久精品国产2020| 国产毛片欧美毛片久久久| 久久精品国产精品亚洲毛片| 青青热久久综合网伊人| 亚洲午夜精品久久久久久浪潮| 一个色综合久久| 99久久国产综合精品麻豆| 四虎国产精品免费久久5151| 亚洲伊人久久综合影院| 91精品国产高清久久久久久io| 久久精品国产福利国产秒| 亚洲综合久久夜AV | 国产精品久久久天天影视| 亚洲国产精品狼友中文久久久| 久久久无码精品亚洲日韩按摩| 久久综合久久久| 久久久婷婷五月亚洲97号色 | 国产综合免费精品久久久| 久久婷婷五月综合成人D啪| 久久久久久a亚洲欧洲aⅴ | 大蕉久久伊人中文字幕| 亚洲精品蜜桃久久久久久| 日韩电影久久久被窝网| 四虎国产永久免费久久| 国产精品18久久久久久vr| 亚洲国产精品一区二区久久hs| 久久久久婷婷| 国产综合成人久久大片91| 91久久国产视频| 久久香蕉一级毛片| 久久99国产精品二区不卡| 久久99精品久久久久久动态图| 亚洲乱码中文字幕久久孕妇黑人| 一个色综合久久| 性欧美大战久久久久久久久| 久久精品国产男包| 亚洲AV无码久久精品狠狠爱浪潮| 青春久久| 亚洲伊人久久精品影院|