zoukankan      html  css  js  c++  java
  • [转] 用管道获得shell 命令的输出

    用管道:     

    通过fgets(buf, n, ptr)buf就可以得到命令“ps -ef"一样的信息,
    读帮助”man popen":

         char *cmd = "ps -ef";

         FILE *ptr;

         if ((ptr = popen(cmd, "r")) != NULL)

               while (fgets(buf, n, ptr) != NULL)

                       (void) printf("%s ",buf);



         UID   PID  PPID  C    STIME     TTY        TIME CMD
        root     0     0  0   Sep-30       ?    00:00:01 sched
        root     1     0  0   Sep-30       ?    00:00:06 /etc/init -a
        root     2     0  0   Sep-30       ?    00:00:00 vhand
        root     3     0  0   Sep-30       ?    00:00:27 bdflush
        root     4     0  0   Sep-30       ?    00:00:00 kmdaemon
        root     5     1  0   Sep-30       ?    00:00:50 htepi_daemon /
        root     6     0  0   Sep-30       ?    00:00:00 strd
        root  2941     1  0   Oct-08   tty01    00:00:00 /bin/login ccb
        root    43     1  0   Oct-08       ?    00:00:02 /etc/syslogd
        root    47     1  0   Oct-08       ?    00:00:00 /etc/ifor_pmd
        root    48    47  0   Oct-08       ?    00:00:13 /etc/ifor_pmd
        root    36     1  0   Oct-08       ?    00:00:00

  • 相关阅读:
    软件工程——第十次作业
    第33次Scrum会议(11/21)【欢迎来怼】
    软件工程——第九次作业
    第26次Scrum会议(11/14)【欢迎来怼】
    软件工程——第八次作业
    psp总结报告
    第十二周psp
    第十一周psp
    探路者团队-贪吃蛇(测评人:刘耀泽)
    “Hello World!”团队第六周第七次会议
  • 原文地址:https://www.cnblogs.com/qiangxia/p/5037902.html
Copyright © 2011-2022 走看看