gpt4 book ai didi

linux - subprocess.Popen : does not retun complete output , 当通过 crontab 运行时

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:01 24 4
gpt4 key购买 nike

我在 unix 环境中调用一些包裹在 python 脚本中的 java 二进制文件

当我从 bash 调用脚本时,输出变得干净并且也存储在所需的变量中,但是当我从 Cron 运行相同的脚本时,输出存储(在变量中)是不完整的

我的代码:

command = '/opt/HP/BSM/PMDB/bin/abcAdminUtil -abort -streamId ETL_' \
'SystemManagement_PA@Fact_SCOPE_OVPAGlobal'
proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
(output, err) = proc.communicate() # Storing Output in output variable

从 shell 运行时输出变量的值:

Abort cmd output:PID:8717
Executing abort function
hibernateConfigurationFile = /OBRHA/HPE-OBR/PMDB/lib/hibernate-core-4.3.8.Final.jar
Starting to Abort Stream ETL_SystemManagement_PA@Fact_SCOPE_OVPAGlobal
Aborting StreamETL_SystemManagement_PA@Fact_SCOPE_OVPAGlobal

从 cron 运行时输出变量的值:

PID:830

创建新进程后的输出似乎没有存储在变量中,我不知道为什么?

最佳答案

金图尔。

您的问题似乎与这个非常相似:Capture stdout stderr of python subprocess, when it runs from cron or rc.local

看看这是否对您有帮助。

关于linux - subprocess.Popen : does not retun complete output , 当通过 crontab 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55454569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com