質問

問題:

サブプロセスのPopenを使用して新しいプロセスを開始するPythonのモニタープログラムがあります。これらのプロセスは、非常に長い時間(週-月)実行される可能性があります。 Popenのstdout変数にファイルハンドルを渡していますが、このファイルが簡単に大きくなるのではないかと心配しています。そのログファイルのデータを安全に移動または削除する方法はありますか?

重要な注意: これはWindowsシステム上にあるため、すべてのソリューションはWindowsと互換性がなければなりません。

コードスニペット:

これがプロセスの作成方法です。

try:
    logFile = file(self.logFileName, 'w')
    self.process = Popen(self.command, shell=False, stdout=logFile, stderr=STDOUT)
finally:
    logFile.close()
役に立ちましたか?

解決

モニタープログラムを修正して、独自のログをローテーションするか、ログプログラムからのデータを自分で調整して個別のファイルにパッケージ化します。

これらは2つのオプションです。別のプロセスのファイル記述子を実行すると混乱することはありません。そのため、<!> quot;データを移動または削除することはできません<!> quot;そのファイルに。

=マイク

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top