実際には、アプリケーション 1 から input.txt に入力を与えます。これにより、intern が {used pyinotify} program1 をトリガーして、output.txt ファイルを更新するこの program1 を実行しますが、output.txt から読み取っている application1 は、program1 が完了するのを待ちません。テキストファイル(output.txt)への書き込み処理、output.txtから古いデータを読み込みます。program1 のプロセスの完了を待つために Application1 が必要です。どうすればこれを行うことができますか??
import pyinotify,subprocess
def onChange(ev):
cmd = ['/usr/bin/env', 'python','/var/www/cgi-bin/version2_1.py', ev.pathname]
subprocess.Popen(cmd).communicate()
wm = pyinotify.WatchManager()
wm.add_watch('/var/www/cgi-bin/input.txt', pyinotify.IN_CLOSE_WRITE, onChange)
notifier = pyinotify.Notifier(wm)
notifier.loop()
これは、テキストを入力するトリガーのバックグラウンドでpython program1を実行するために使用したプログラムです。このトリガーの直後に、application1のこのステートメントを実行します out_file=open("/var/www/cgi-bin/output.txt", "r").read()
これで、application1 は program1 によって更新される前に出力のコンテンツを受け取ります!! program1 が実行を完了し、output.txt を更新するまで Aplication1 を待機させたい
plsは私にこれについてどうすればよいか考えを与えます..
ありがとうございました :)