栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux

比system在应用中的好处是;可以获取运行的输出结果

从之前exec族函数所知,exec函数族的函数执行成功后不会返回

#include 

 FILE *popen(const char *command, const char *type);
 int pclose(FILE *stream);

command:是一个指向以NULL结束的shell命令字符串的指针。这行命令将被传到bin/sh并使用-c标志,shell将执行这个命令

mode:只能是读或者写中的一种,如果type是“r”则文件指针连接到commend的标准输出;如果type是“w”则文件指针连接到command的标准输入

#include 
#include 
#include 
//size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

int main(void)
{
        char ret[1024] = {0};

        system("ps");

        printf("ret=%sn",ret);

        return 0;
}

#include 
#include 
#include 
//size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

int main(void)
{
        char ret[1024] = {0};
        FILE *fp;

        fp = popen("ps","r");
        int n_read = fread(ret,1,1024,fp);
        printf("read ret %d byte,ret=%sn",n_read,ret);
        return 0;
}

打印出来的结果

read ret 146 byte,ret=   PID TTY          TIME CMD
 26549 pts/2    00:00:00 bash
 27188 pts/2    00:00:00 a.out
 27189 pts/2    00:00:00 sh
 27190 pts/2    00:00:00 ps

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894548.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号