popen system exec函数
来源:互联网 发布:对大数据的认识与评价 编辑:程序博客网 时间:2024/06/11 20:44
C/C++程序调用shell命令可以通过以下函数实现:
FILE *popen(const char *command, const char *mode); popen()会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令。参数mode可使用r代表读取,w代表写入。依照mode值,popen()会建立管道连接到子进程的标准输出设备 或标准输入设备,然后返回一个文件指针。随后进程便可利用此文件指针来读取子进程的输出设备或是写入到子进程的标准输入设备中。 popen()打开的管道需用pclose关闭。 例: #include <stdio.h> int main(int argc, char * argv[]) { FILE * pp; char buffer[128]; pp=popen("ls -l","r"); fgets(buffer,sizeof(buffer),pp); printf("%s",buffer); pclose(pp); return 0; }
int system(const char *command); system()会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令。此命令执行完后立即返回原调用进程。返回值=-1,出现错误;返回值=0,调用成功但是没有出现子进程;返回值& gt;0,成功退出的子进程id。 例: #include <stdio.h> int main(int argc, char * argv[]) { system("ls -l"); return 0; }
exec函数族 int execl(const char *path, const char *arg0, ... /*, (char *)0 */); int execv(const char *path, char *const argv[] ); int execle(const char *path, const char *arg0, ... /*,(char *)0, char *const envp[]*/); int execve(const char *path, char *constargv[] , char *const envp[] ); int execlp(const char *file, const char *arg0, ... /*, (char *)0*/); int execvp(const char *file, char *const argv[] ); 具体用法可man 函数名查阅手册
- popen system exec函数
- fork + exec, system, popen
- fork + exec, system, popen
- system popen -> exec fork waitpid
- fork+exec 与system,popen区别
- PHP如何执行Linux系统命令呢?system();exec();popen();函数
- python的os模块fork、wait、system、exec、popen、exit函数讲解
- C程序调用shell脚本共有三种方式:system()、popen()、exec系列函数
- popen 与system函数笔记
- php中popen,exec,system,passthru到底有多大区别
- PHP 调用系统外部命令 system() exec() passthru() 和 popen()
- PHP执行系统命令 exec,system,passthru,popen
- linux学习---进程控制(fork,vfork,popen,exec,system)
- exec函数和system函数
- system与popen函数的效率
- system与popen函数的效率 .
- system与popen函数的效率
- 利用popen实现的system函数
- Unity学习之MonoBehaviour中的常用函数
- opencv学习(三)摄像头播放
- 通俗编程——白话JAVA异常机制
- Linux 下编译、安装、配置 QT
- 《周鸿祎自述:我的互联网方法论》--读后感
- popen system exec函数
- 【c语言】实现翻转字符串函数reverse_string
- Android AAPT and Overlay
- Common Lisp开发环境搭建
- Linux系统调用和库函数
- Java之美[从菜鸟到高手演练]之JDK动态代理的实现及原理
- 【数据结构】哈夫曼树实现编码译码
- BindingNavigator控件
- Tslib和Qt 4.8.4与在开发板上的移植