首页 > 系统服务 > 详细

[转] 用管道获得shell 命令的输出

时间:2015-12-11 08:34:44      阅读:210      评论:0      收藏:0      [点我收藏+]

用管道:     

通过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

[转] 用管道获得shell 命令的输出

原文:http://www.cnblogs.com/qiangxia/p/5037902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!