zoukankan      html  css  js  c++  java
  • 1.5 从标准输入读命令并执行

    proc/shell1.c

     1 #include "apue.h"
     2 #include <sys/wait.h>
     3 int
     4 main(void)
     5 {
     6     char    buf[MAXLINE];    /* from apue.h */
     7     pid_t    pid;
     8     int        status;
     9     printf("%% ");    /* print prompt (printf requires %% to print %) */
    10     while (fgets(buf, MAXLINE, stdin) != NULL) {
    11         if (buf[strlen(buf) - 1] == '
    ')
    12             buf[strlen(buf) - 1] = 0; /* replace newline with null */
    13         if ((pid = fork()) < 0) {
    14             err_sys("fork error");
    15         } else if (pid == 0) {        /* child */
    16             execlp(buf, buf, (char *)0);
    17             err_ret("couldn't execute: %s", buf);
    18             exit(127);
    19         }
    20         /* parent */
    21         if ((pid = waitpid(pid, &status, 0)) < 0)
    22             err_sys("waitpid error");
    23         printf("%% ");
    24     }
    25     exit(0);
    26 }
  • 相关阅读:
    oracle 查看表空间使用率
    解决linux下vim中文乱码问题
    linux 时间同步
    oracle ho与mysql system命令
    mysql 重置root密码
    2020 10 26
    2020 10 24
    2020 10 23
    2020 10 22
    2020 10 21
  • 原文地址:https://www.cnblogs.com/paullam/p/3844005.html
Copyright © 2011-2022 走看看