python commands.getoutput_python status,output = commands.getstatusoutput(“cmd”) 诡异现象 | 学步园...

python status,output = commands.getstatusoutput("cmd") 诡异现象

test.py

#!/usr/bin/python

import commands

import sys

def do_cmd(cmd='pwd'):

status,output = commands.getstatusoutput(cmd);

print cmd

print 'status code: ', status

print 'output: ', output

if __name__ == '__main__':

if len(sys.argv) != 2 :

print "usage: %s cmd" % sys.argv[0]

sys.exit(1);

cmd = sys.argv[1]

do_cmd(cmd)

print

cmd = "( " + cmd + " &)"

do_cmd(cmd)

执行命令行:

python test.py "ls -l xxxxxx"

ls -l xxx

status code:  512

output:  ls: xxx: 没有那个文件或目录

( ls -l xxx &)

status code:  0

output:  ls: xxx: 没有那个文件或目录

虽然命令命令没有成功执行,第二种方式仍然返回状态码: 0 ; 表示成功;

诡异的bug,调了半天;

记录一下!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值