• <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 山泉彎延 閱讀(307) 評論(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精品成人片三人毛片| 亚洲AV无码1区2区久久| 久久久久久综合一区中文字幕| 国产精品久久久久久| 久久性生大片免费观看性| 亚洲国产成人久久一区久久| 伊人久久综合无码成人网| 久久久久久人妻无码| 国产精品免费看久久久香蕉 | 怡红院日本一道日本久久| 久久高潮一级毛片免费| 久久精品国产AV一区二区三区| 97精品伊人久久久大香线蕉| 久久噜噜电影你懂的| 亚洲精品白浆高清久久久久久| 久久精品国产半推半就| 久久国产免费直播| 欧美麻豆久久久久久中文| 久久久久亚洲av无码专区导航| 亚洲国产精品狼友中文久久久 | 亚洲国产精品无码久久久久久曰 | 久久精品国产免费观看三人同眠| 国产美女久久精品香蕉69| 国产叼嘿久久精品久久| 国产精品美女久久久m| 一级a性色生活片久久无| 精品国产青草久久久久福利 | 国内精品久久久久久久久电影网| 狼狼综合久久久久综合网| 97香蕉久久夜色精品国产| 久久免费国产精品| 久久综合综合久久97色| 无码人妻久久一区二区三区免费丨 | 久久久久久夜精品精品免费啦 | 青青国产成人久久91网| 99久久精品毛片免费播放| 人妻丰满AV无码久久不卡 | 久久99精品久久久久久久久久| 亚洲伊人久久大香线蕉综合图片| 97香蕉久久夜色精品国产| 国产精品久久久久蜜芽|