subprocess.Popen: does not return complete output , when run through crontab

オープン
#9 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
20/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
python

調査の方向性

subprocess.Popen と communicate() のインライン例から始め、コマンドを shell と crontab の両方で再現してください。cron 環境と取得した stdout/stderr を比較します。異なる出力の原因を特定し、cron 実行で完全に取得できることを確認できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

I am calling some java binary in unix environment wrapped inside python script

When I call script from bash, output comes clean and also being stored in desired variable , However when i run the same script from Cron, Output stored(in a Variable) is incomplete

my code:

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

Value of output variable when running from 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

Value of output variable when running from cron:

PID:830

It seems output after creating new process is not being stored into variable , i don't know why ?

主要言語
Python
スター
3
フォーク
12
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

enthought/Python-2.7.3 のほかの issue

enthought/Python-2.7.3 の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。