我是python新手,需要帮助!
蟒蛇版本: 2.7
脚本
import subprocess
import sys
HOST="user@machine"
COMMAND="ps -fu user | grep \"XYZ\" |grep -v grep |wc -l" #Command to be run
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
if result == []:
error = ssh.stderr.readlines()
print >>sys.stderr, "ERROR: %s" % error
else:
result = [qaz.strip('\n') for qaz in result]
print result
此脚本产生以下输出:
['0']
问题
即使将COMMAND
要在其他机器上执行的字符串更改为一些不相关的字符串,我也没有收到错误消息,比如我将命令更改为以下值并再次运行脚本。
COMMAND="adsasdadsps -fu user | grep \"XYZ\" |grep -v grep |wc -l"
该脚本现在也产生相同的输出。
['0']
但是当我如下更改命令时。
COMMAND="asdadasd"
然后我得到了输出。
ERROR: ['ksh: line 1: asdadasd: not found\n']
谁能帮助我理解为什么我没有收到错误消息
COMMAND="adsasdadsps -fu user | grep \"XYZ\" |grep -v grep |wc -l"