祝大家新年快乐,身体健康,工作顺利,牛年大吉!1 参考资料
1、【c/c++】如何调用【linux】shell命令行命令并获取命令行的输出内容(https://blog.csdn.net/youngstar70/article/details/70305687)
2 使用说明
2.1 应用场景
最近在实际程序开发中,需要通过程序执行 shell 命令,并获取命令输出内容。但是系统自带的 system 只能返回命令执行成功与否,不能捕获命令输出。
基于此,需要实现的需求有:
可以执行 shell 命令;可以获取命令输出内容;
2.2 扩展性
由于应用场景本就广泛,因此扩展性较好。
此函数可以执行任意命令,并捕获命令输出结果。
实际使用过程中可以把此函数作为最底层接口,然后层层封装,实现自己想要的功能。
2.3 测试环境
2.3.1 Ubuntu
找到此方法时,我首先在 Ubuntu 中进行了测试,环境如下:
系统版本:Ubuntu 14.04.1 LTS系统版本详细信息如下
zhaoc@ubuntu14:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.1 LTS Release: 14.04 Codename: trusty
系统内核版本如下
zhaoc@ubuntu14:~$ uname -a Linux ubuntu14 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
gcc 版本如下
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
2.3.2 工程代码
随后又放到工程代码中测试,环境如下:
系统内核版本如下
[root]#uname -a Linux itl 4.4.207+ #24 PREEMPT Fri Jan 29 18:09:37 CST 2021 armv5tejl GNU/Linux
gcc