获取linux语句执行结果需要使用os.popen
1.os.system
该函数返回命令执行结果的返回值,system()函数在执行过程中进行了以下三步操作:
1.fork一个子进程;
2.在子进程中调用exec函数去执行命令;
3.在父进程中调用wait(阻塞)去等待子进程结束。
对于fork失败,system()函数返回-1。
这个命令执行后,linux语句执行返回结果会直接打印在屏幕上,os.system的返回值0-131
如果为 0,则表示命令执行成功,其它值则表示错误。
2.os.popen
popen() 创建一个管道,通过fork一个子进程,然后该子进程执行命令。返回值在标准IO流中,该管道用于父子进程间通信。父进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数(w或r)。通过popen函数读取命令执行过程中的输出示例如下:
#!/usr/bin/python
import os
p=os.popen('ssh 10.3.16.121 ls')
x=p.read()
print x
p.close()
output = os.popen('cat /proc/cpuinfo')
print output.read()
output.read()获得的就是linux语句执行的返回结果