C++/Php/Python 语言执行shell命令

编程中经常需要在程序中使用shell命令来简化程序,这里记录一下。

1. C++ 执行shell命令

 1 #include <iostream>
 2 #include <string>
 3 #include <stdio.h>
 4
 5 int exec_cmd(std::string cmd, std::string &res){
 6     if (cmd.size() == 0){   //cmd is empty
 7         return -1;
 8     }
 9
10     char buffer[1024] = {0};
11     std::string result = "";
12     FILE *pin = popen(cmd.c_str(), "r");
13     if (!pin) { //popen failed
14         return -1;
15     }
16
17     res.clear();
18     while(!feof(pin)){
19         if(fgets(buffer, sizeof(buffer), pin) != NULL){
20             result += buffer;
21         }
22     }
23
24     res = result;
25     return pclose(pin); //-1:pclose failed; else shell ret
26 }
27
28 int main(){
29     std::string cmd = "ls -ial";
30     std::string res;
31
32     std::cout << "ret = " << exec_cmd(cmd, res) << std::endl;
33     std::cout << res << std::endl;
34
35     return 0;
36 }

2. Php执行shell命令

1 <?php
2     $cmd = "wc -l ./test.php";
3     exec($cmd, $output, $code);
4
5     echo $code."\n";
6     print_r($output);
7 ?>

3. Python执行shell命令

1 import commands
2
3 status, output = commands.getstatusoutput('ls -lt')
4
5 print status
6 print output

 

时间: 2024-10-28 00:35:50

C++/Php/Python 语言执行shell命令的相关文章

python中执行shell命令的几个方法小结

来源:http://www.jb51.net/article/55327.htm Python 执行 shell 命令 最近有个需求就是页面上执行shell命令,第一想到的就是os.system os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了.尝试第二种方案 os.popen() output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen(

python中执行shell命令的几个方法小结_python

最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码 代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了. 尝试第二种方案 os.popen() 复制代码 代码如下: output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的

python执行shell命令四法

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1438687 整理:python执行shell命令四法,示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #!/usr/bin/env python   # -*- codin

python执行shell命令的例子

最近有个需求就是页面上执行shell命令,第一想到的就是os.system,  代码如下 复制代码 os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了. 尝试第二种方案 os.popen()  代码如下 复制代码 output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的

linux下执行shell命令方法简介_linux shell

linux下执行shell命令有两种方法  在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令,命令行直接执行给出结果.比如这样: 2.在当前shell中产生一个subshell,在subshell中执行shell命令 比如我们把shell写成shell脚本的方式来运行,这个时候会先启动一个subshell来代替当前的shel

Android Java执行Shell命令

主要介绍Android或Java应用中如何以默认用户或root用户执行Shell命令,ShellUtils的API介绍.使用及使用场景(如静默安装和卸载.修改hosts文件.拷贝文件).使用纯Java实现,所以对Java程序同样适用. 很多朋友在使用TrineaAndroidCommon@Github中的ShellUtils工具类了,那就大致介绍下他的功能吧. 1.API介绍 以下是ShellUtils中最终执行命令的方法execCommand: Java 1 public CommandRes

java执行shell命令-Java执行shell命令问题

问题描述 Java执行shell命令问题 我在java代码中执行shell命令改变Android目录下的文件123.sh的权限, 使用Runtime.getRuntime().exec("chmod 777 /data/misc/123.sh")这个命令无效, 但是,我将chmod 777 /data/misc/123.sh这个命令写到脚本chmod.sh里,在PC机上改变chmod.sh的权限后使用adb push将其放到android目录/data/misc/下, 再使用Runti

linux 下 java程序执行shell命令 跪求!!!!

问题描述 一个Java程序在Linux下面执行shell命令来创建用户为什么总是执行不成功呢.希望大家帮帮小弟!!!Stringuser="张三";Stringcellphone="5858678";Stringcommandstr="useradd-glingyun"+user+";echo""+cellphone+""|passwd--stdin"+user+""

求解 C# 登陆UNIX在shell下执行shell命令

问题描述 大家好新年好给大家先拜个早年,羊年吉祥.下面介绍一下我的需求.平时工作使用的是NETTERM软件登陆SunOS5.10系统.在UNIXshell下面执行相关操作.以前是使用BASH或者PERL之类的脚本来完成工作.现在想在本地计算机上使用C#来做这些事情.这样做的目的是屏蔽新人对脚本的不了解而造成不必要的损失和故障.我的思路是1.上传脚本2.执行脚本3.下载脚本生成的结果文件4.删除脚本及生成的文件目前:1.上传3.下载4.删除.在网上找到相关FTP类都已经实现.唯独在SHELL环境下