• <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 山泉彎延 閱讀(308) 評論(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);
            }
            久久国产乱子伦精品免费强| 久久偷看各类wc女厕嘘嘘| 欧美黑人激情性久久| 热久久国产欧美一区二区精品| 国产高潮久久免费观看| 久久天天躁狠狠躁夜夜avapp | 久久午夜福利无码1000合集| 精品国产91久久久久久久| 99国产欧美精品久久久蜜芽| 精品久久久久香蕉网| 日韩av无码久久精品免费| 无码专区久久综合久中文字幕| 一本大道久久东京热无码AV| 欧美777精品久久久久网| 国产精品久久久久天天影视| 四虎国产精品免费久久5151| 国产精品gz久久久| 久久精品国产99久久香蕉| 久久久久国产精品三级网| 久久强奷乱码老熟女网站| 亚洲精品97久久中文字幕无码| 无码人妻久久一区二区三区蜜桃| 久久九九久精品国产免费直播| 久久国产精品99国产精| 久久久精品国产sm调教网站 | 久久综合丝袜日本网| 欧美伊香蕉久久综合类网站| 亚洲天堂久久精品| 久久伊人五月天论坛| 久久人人爽人人爽人人片AV不 | 国产精品亚洲综合久久| 免费久久人人爽人人爽av| 精品少妇人妻av无码久久| 久久久久久久尹人综合网亚洲| 久久亚洲电影| 亚洲va中文字幕无码久久| 九九久久99综合一区二区| 久久人人爽人人爽AV片| 久久香蕉国产线看观看精品yw| 久久亚洲天堂| 久久亚洲国产精品成人AV秋霞|