使用popen执行脚本并获取返回值
来源:互联网 发布:炫踪网络 加班严重吗 编辑:程序博客网 时间:2024/05/16 12:44
popen函数
#include <stdio.h>#include <stdlib.h>#include <string.h>#define BUF_SIZE 8192#define RETURNED_VALUE "__returned_value_"intmain(void){char *cmd1 = "./test.sh";char cmd[BUF_SIZE];memset(cmd, 0, sizeof(cmd));int ret = snprintf(cmd, sizeof(cmd), "%s 2>&1; echo %s$?", cmd1, RETURNED_VALUE);if (ret < 0) {perror("snprintf()");return -1;}printf("cmd: %s\n", cmd);FILE *fp = popen(cmd, "r");if (NULL == fp) {perror("popen()");return -2;}char buf[BUF_SIZE] = {[0 ... BUF_SIZE-1] = 0,};ssize_t buf_len = BUF_SIZE - 1;char *p = NULL;int rval = -1;char *line = NULL;size_t len = 0;ssize_t read = 0;while ((read = getline(&line, &len, fp)) != -1) {if (NULL != (p = strstr(line, RETURNED_VALUE))) {p += strlen(RETURNED_VALUE);rval = atoi(p);} else {if (buf_len > 0) {strncat(buf, line, buf_len);buf_len -= read;}}}printf("buf: %s", buf);printf("rval: %d\n", rval);free(line);pclose(fp);return 0;}
脚本
#!/bin/bashecho asdfghjklexit 123
- 使用popen执行脚本并获取返回值
- python中subprocess.Popen执行命令并持续获取返回值
- 使用popen()执行shell命令并获取内容
- C程序获取shell脚本命令输出,使用popen()函数
- Java调用Python脚本并获取返回值
- java执行sql语句并获取指定返回值
- Java执行sql语句并获取指定返回值
- java执行javascript方法体,并获取返回值
- python执行CMD指令,并获取返回
- shell脚本中执行python脚本并接收其返回值的例子
- python调用其它脚本:pig,python,shell等等 (如何获取pig脚本执行的返回值)
- 在.net里执行脚本并返回结果
- java调用linux中的shell脚本并返回执行结果
- 使用iframe无刷新上传文件,并获取返回值
- 通过反射获取无参无返回值成员方法并使用
- popen使用FIFO管道执行外部程序
- Linux下使用popen()执行shell命令
- Linux下使用popen()执行shell命令
- Oracle,SQL Plus使用
- 快速排序
- java.net.UnknownHostException
- 安装openssh-server报错
- VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射(转)
- 使用popen执行脚本并获取返回值
- 可执行程序的入口点在那里?
- Java wait(), notify(),sleep详解
- 乐观的项目经理
- windows下设置开机启动项并修改启动顺序
- spring 3+hibernate4整合
- SQL SERVER2008 错误"不能在控件上调用 Invoke 或 BeginInvoke"
- Android 将Uri转换成File
- IntentFilter