高级语言也可调用系统命令,有时会带来意想不到的输出
语言类型
- python
- php
- c
1. python
-
Python中执行系统命令常见方法有三种:
- os.system
- os.popen
- 使用模块subprocess
前者返回值是脚本的退出状态码,前两者均需要 os 模块(import os)
(1) os.system
在执行命令时,将运行状态显示在窗口中,返回值为状态码
import os
a=os.system('ping')
print a
-
a为返回值
- 0 代表成功
- 1 代表小问题
- 2 代表大问题
(2) os.popen
它的返回值是一个文件对象,你可以对这个文件对象进行相关的操作。
import os
a=os.popen('ping')
print a.read()
a为文件对象,可以调用该对象的read方法和close方法进行相关操作
(3) 使用模块subprocess(子进程)
import subprocess
a=subprocess.Popen('ping', shell=True)
- shell设为true,程序将通过shell来执行。
- Popen.poll():用于检查子进程是否已经结束。设置并返回returncode属性。
- Popen.wait():等待子进程结束。设置并返回returncode属性。
2. PHP
- shell_exec
- exec
(1)shell_exec
获取命令执行的所有输出值
<?php
$f=shell_exec('ipconfig/all');
echo $f;
?>
输出所有信息
(2)exec
获取最后一个命令的输出值
<?php
$f=exec('ipconfig/all');
echo $f;
?>
只输出最后一行
3. C
头文件为 include “stdlib.h”
int main()
{
system(“ping”);
}