`

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命令执行程序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/shell大作业

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

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

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

    可在linux下执行的txt格式转换成pdf格式的可执行程序

    可在linux下执行的txt格式转换成pdf格式的可执行程序。 原创小程序,linux下只要安装jdk1.6版本或以上可用, 如果想把A.txt文件转换成A.pdf文件,那么执行命令为: java -jar txtToPDF_fat.jar A.txt A.pdf

    Linux shell脚本.rar

    文件包含大作业shell脚本(快速备份系统)源码,实验课做的Linux实验shell脚本:Samba实验,DDNS(DHCP服务器 和DNS服务器的配置)的shell脚本,运行脚本每个实验只需要两三分钟即可完成。 其中sy1为实验一脚本,sy2...

Global site tag (gtag.js) - Google Analytics