为什么子进程显示部分标准输出。请帮助我理解

问题描述 投票:0回答:1

为什么子进程未显示命令的完整输出?

我的命令输出采用以下格式:

    DATABASE_NAME: TSMDB1
TOT_FILE_SYSTEM_MB: 1536000
USED_DB_SPACE_MB: 1301095
  FREE_SPACE_MB: 213555
    TOTAL_PAGES: 62582620
   USABLE_PAGES: 62574860
     USED_PAGES: 61566280
     FREE_PAGES: 1008580
 BUFF_HIT_RATIO: 92.6
 TOTAL_BUFF_REQ: 1233581268360
  SORT_OVERFLOW: 0
  PKG_HIT_RATIO: 98.2
     LAST_REORG: 2020-04-26 14:33:55.000000
 FULL_DEV_CLASS: LTO4_CLASS1
NUM_BACKUP_INCR: 0
LAST_BACKUP_DATE: 2020-04-27 07:00:11.000000
PHYSICAL_VOLUMES: 10
NUM_BACKUP_STREAMS: 3
COMPRESS_DB_BACKUPS: No
PROTECT_MASTER_KEY: No

带有子过程

proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = proc.communicate()

我只得到一部分输出,类似于下面的内容。

     TSMDB1
     1536000
     1301095
     213555
     62582620
     62574860
     62574860
     1008580
     92.6
     1233581268360
     0
     98.2
     2020-04-26 14:33:55.000000
     LTO4_CLASS1
     0
     2020-04-27  07:00:11.000000
     10
     3
     No
     No 

我正在尝试将其读取为字符串,但是仍然不明白为什么命令的第一部分丢失了?我正在使用Python 2.7在RHEL V7服务器上运行此程序。

python subprocess
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.