【回眸】技术干货——Linux内核(十一)system()函数与popen()函数

​前言

system()函数的作用是执行一个shell脚本或者shell指令

popen与system()函数类似,不同点是popen()函数可以获取运行的shell脚本或者命令的输出结果

system()

函数参数

#include <stdlib.h>
int system(const char *comand)

参考示例代码:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main (void)
{
    char ret[1024] ={0};
    system ("ps");
    printf ("ret = %s \n",ret);
    return 0;
}

运行结果展示:

可以发现使用system()函数无法获取运行的结果。

popen()

函数原型:

#include <stdio.h>
FILE popen (const char command,const char *mode )

参考示例代码:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main (void)
{
    char ret[1024] ={0};
    FILE *fp;
    fp = popen("ps","r");
    int nread = fread (ret,1,1024,fp);
    printf ("read ret %d byte,ret = %s \n",nread,ret);
    return 0;
}

运行结果显示:

可以看到,当执行函数从system()更换为popen()时,popen()可以获取运行的输出结果.

后记碎碎念

Linux是一个系列,可以点击专栏查看同系列的其他文章,希望能帮到屏幕前的每一位应届生往届生,该博文最初发表在CSDN上。

本文分析了system()函数及popen()函数的异同之处,并且提供了两个案例对两个函数进行不同的理解和应用.​

#校招求职有谈薪空间吗##找工作前vs找工作后的心路变化##26届秋招投递记录##央国企投递记录##租房前辈的忠告#
应届生必学实用物联网技术 文章被收录于专栏

本专栏助应届生从物联网小白成长为企业争抢的技术人才,聚焦三大核心技术:传感器应用(环境监测)、嵌入式开发(STM32/Arduino)、通信协议(LoRa/NB-IoT/MQTT),配合10+实战项目(如智能温湿度监控系统)积累项目经验。覆盖智能硬件、工业物联网、智能家居领域岗位需求,解析企业招聘技术重点与面试题,帮电子、计算机、自动化等专业学生构建知识体系,提前锁定名企Offer!

全部评论

相关推荐

我的求职精神状态
点赞 评论 收藏
分享
1.一分钟自我介绍2.请问你在学校是否有获得奖学金?如果获得,是属于什么级的奖学金?国家级?省级?是校级?3.请问你是否有参加过竞赛活动?是否获得奖项?是属于什么类型的竞赛?国家级?省级?是校级?请讲一下你在竞赛中主要做了哪些方面的工作?4.是哪几点原因吸引你应聘我们公司的这个职位?你对我们公司了解多少?5.你是通过什么渠道了解到我们公司的信息的?6.你连续几周都需要高强度加班,你会如何调整自己以确保工作质量和个人健康?7.如果你发现xxx没有起到效果,工作压力还是很大,你会怎么调整自己的策略呢?8.如果在这种高压情况下,你发现团队里的某位同事状态也不太好,甚至影响到了整体进度,你会怎么处理这种情况呢?9.那如果这个同事在你关心和建议之后依然没有明显改善,甚至对团队的整体进度造成了更大的影响,你会怎么进一步处理呢?10.假设公司给你个任务,要求你需要将项目周期缩短一半,接到这个任务你的第一反应是什么?你会通过哪些不同寻常的途径去实现目标?11.具体来说怎么判断哪些环节是可以优化或者合并的呢?12.你会尝试哪些创新的方式来突破这个限制呢?13.你会如何权衡开发时间和项目推进之间的关系呢?14.三道行测题,三分钟15.翻译成中文的一段英文16.英文问答17.专业能力环节共有&nbsp;30&nbsp;个问题,题比较难18.心理测试,20个问题
查看13道真题和解析
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务