`

linux下执行shell

 
阅读更多

执行shell:

 

int runCommand(string cmd, char* result=NULL, int readLen=0){
    FILE *fp;
    const char *sysCommand = cmd.data(); 
    MY_LOGE("runCommand:%s\n", sysCommand);
    if ((fp = popen(sysCommand, "r")) == NULL) { 
    	MY_LOGE("---runCommand error...\n");
        return -1;
    }
    if(result==NULL||readLen==0) {
    	MY_LOGE("---runCommand not need result...\n");
		pclose(fp);
		return 0;
    }
    if(fgets(result, readLen, fp) != NULL){ 
    	MY_LOGE("---runCommand result(%d):%s\n", strlen(result), result);
    }
    pclose(fp);
    return 0;
}

 

string cmdGetIP = "ifconfig | grep 'inet addr:' | awk '{print substr($2, 6)}'";  
runCommand(cmdGetIP, myDeviceIP.get(), 15); 

popen()函数较于system()函数的优势在于使用简单,popen()函数只返回两个值: 成功返回子进程的status,使用WIFEXITED相关宏就可以取得command的返回结果; 失败返回-1,我们可以使用perro()函数或strerror()函数得到有用的错误信息。

 

分享到:
评论

相关推荐

    从Linux程序中执行shell(程序、脚本)并获得输出结果

    Table of Contents 1. 前言 ...但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果。例如,执行外部命令ping后,如果执行失败,我们希望得到ping的返回信息。

    linux下执行shell命令方法简介

    linux下执行shell命令有两种方法 在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令...

    java连接linux,执行shell命令的工具类 sshxcute.jar

    java连接linux,执行shell命令的工具类 sshxcute.jar

    Linux下使用popen()执行shell命令.docx

    Linux下使用popen()执行shell命令.docx

    Linux与UNIX Shell编程指南.pdf

    Shell是Linux与UNIX操作系统下的命令行接口,提供了交互式的命令输入和执行环境。Shell既可以作为用户与操作系统之间的接口,也可以作为脚本编程语言来自动执行复杂的任务。常见的Shell包括Bash、Zsh、Ksh等。 2. ...

    Linux命令执行程序shell

    在linux下,C语言实现的模拟shell程序。能够显示每条命令使用的cpu时间、进程中断次数、换页次数。

    Linux下通用的shell脚本 执行批处理

    Linux下通用的shell脚本 执行批处理

    Linux下Shell编程

    Shell是一种具备特殊功能的程序, 它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。 为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的周围建了一个外壳(shell)...

    linux下shell脚本实现数据的导出

    原因是程序放在root用户下,要runtime执行exp的话,root不认exp命令;找了好多资料,最后决定写个shell脚本;没接触过shell脚本,网上大部分例子都写的挺复杂的;贴个简单的,不带传参什么的;只是最简单的数据表的...

    LINUX与UNIX SHELL编程指南(很全)

    2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find命令的例子 20 2.2 xargs 20 2.3 小结 21 第3章 后台执行命令 22 3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 ...

    andorid使用jni执行shell命令例子

    1. android上调用jni 2. 在jni里c代码中调用系统shell 3. 执行shell命令 4. 返回android应用层

    Java 调用 Linux shell 命令执行框架:sshxcute

    软件开发与测试人员常常会在远程 Linux/UNIX 系统上执行命令或脚本,有时还会有批量执行任务的需求。常见的办法是通过本地工具(例如 Putty)连接远程计算机,输入命令执行,但是当遇到需要集成这些任务到代码或者...

    LINUX与UNIX SHELL编程指南

    呵呵,这真的是一本好书《LINUX与UNIX SHELL编程指南》 --------------------------------------------- 经典《Linux与UNIX Shell编程指南》 shell是一种完整的编程语言,易学易用;shell脚本可以使烦人的手工作业...

    linux下批量执行oracle脚本的shell脚本

    NULL 博文链接:https://bicashy.iteye.com/blog/1522713

    jsp执行linux shell

    这是一个简单的jsp通过ssh(不是spring ,hibernate..)执行linux命令的小工具 适用人群:想通过web快速启动关闭linux各种服务的人,比如重启web,ftp服务等。

    用Linux/UNIX Shell编程语言设计系统监控程序.pdf

    "Linux/UNIX Shell编程语言设计系统监控程序.pdf" 本文档主要介绍了使用Linux/UNIX Shell编程语言设计系统监控程序的方法。该程序使用Shell编程语言设计CGI脚本,通过使用过滤器awk在某些输出行中提取信息,然后在...

    linux/shell大作业

    在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、用户主目录和用户登录所用的shell。请设计一个脚本...

    java调用shell脚本执行sqlldr与存储过程

    因为我在linux环境下执行shell脚本时sqlldr命令和sqlplus命令是正常执行的,没有任何问题,但是在java代码中调用脚本时却报错,所有排除了其他原因,只可能是环境变量的问题, 于是我把oracle的所有环境变量直接复制...

Global site tag (gtag.js) - Google Analytics