0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

popen和system有什么区别?

学益得智能硬件 来源:学益得智能硬件 2024-03-20 18:25 次阅读

popen和system有什么区别?

这两个都是属于C库里面的函数,作用也差不多,可以在程序中执行shell命令。

比如在system中写上clear命令,执行程序的时候就会清空屏幕;在system中写上ifconfig,运行的时候就能看到网卡信息

所以 system 的作用,就是单纯的执行一条命令。

如果想在程序中获得命令执行的结果,就可以借助popen。

popen包含两个参数,第一个是要执行的命令,第二个表示读或者写,返回标准的IO流地址。

如果要读取命令的结果,使用fread就行。

仅仅从使用上来分析他俩的区别,system只能执行命令,popen不仅可以执行,还能获得执行的结果。

他们的实现也不太相同,popen本身不会阻塞,system会通过waitpid来阻塞;popen返回值简单,system返回值更复杂;而且system在执行指令的时候,还会忽略和阻塞一些信号

所以,关于这两个函数,你觉得应该如何选择?




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Shell
    +关注

    关注

    1

    文章

    358

    浏览量

    22902

原文标题:popen和system的区别!

文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SPI和QSPI什么区别

    SPI和QSPI什么区别
    发表于 02-06 06:12

    $88和$0088什么区别

    请问,$88和$0088什么区别,为什么一个是直接寻址一个是扩展寻址呢
    发表于 10-12 22:45

    proteus和protle什么区别

    proteus和protle什么区别
    发表于 06-21 09:55

    mspG2553中 TimerA和TimerB什么区别?TA1和TA0什么区别

    mspG2553中 TimerA和TimerB什么区别?TA1和TA0什么区别
    发表于 05-15 22:39

    0603、0805和1206的电容什么区别?0603、0805和1206的电感什么区别

    0603、0805和1206的电容什么区别?0603、0805和1206的电感什么区别
    发表于 04-19 22:17

    DAC芯片什么区别

    我想选一款16位、4通道DAC芯片,在选定的一些芯片中,发现Architecture区别,分别是R-2R和Sting,请问它们什么区别,谢谢
    发表于 06-18 10:16

    RISC和CISC什么区别

    RISC vs CISC什么区别
    发表于 04-02 06:27

    static函数与普通函数什么区别?  

    部变量能否和全局变量重名?   如何引用一个已经定义过的全局变量?  全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?static函数与普通函数什么区别?  队列和栈什么区别
    发表于 12-03 06:15

    什么是EEPROM?和FLASH什么区别

    什么是EEPROM?和FLASH什么区别
    发表于 01-24 06:48

    STM32CubeIDE和STM32的System Workbench什么区别

    STM32CubeIDE 和 STM32 的 System Workbench 什么区别
    发表于 01-09 08:32

    IDF AT Bin和Qcloud IoT AT什么区别

    IDF AT Bin 和 Qcloud IoT AT 什么区别?ESP8266 RTOS SDK和NONOS SDK什么区别? 如果我安装例如 RTOS SDK,它是否也会升级 A
    发表于 05-12 06:50

    STM32的FSMC和FMC什么区别

    STM32的FSMC和FMC什么区别呢? 有的系列,比如F103是FSMC,有的系列,M4就是FMC了。这两者什么区别呢?
    发表于 09-26 06:17

    rdram和sdram什么区别

    在电脑上拆到2条rdram内存条,这个和sdram内存条什么区别,可以兼容吗
    发表于 10-08 09:01

    哈希与加密什么区别

    哈希与加密什么区别
    发表于 10-09 06:29

    openCV和openMV什么区别

    两个什么区别,我们常用的视觉库是哪个
    发表于 10-11 07:02