На самом деле, я передам входные данные из моего application1 в input.txt, который выполняет триггеры {used pyinotify} program1 для запуска этой программы1, которая обновляет файл output.txt, но application1, которая читает файл output.txt, не ждет программычтобы завершить процесс записи в текстовый файл (output.txt), он считывает старые данные из output.txt.Мне нужно Application1, чтобы ждать завершения процесса program1, как я могу это сделать ??
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()
Это программа, которую я использовал для запуска моей программы python1 в фоновом режиме при триггере для ввода текста, сразу после этого триггера приложение 1 выполнит этот оператор out_file=open("/var/www/cgi-bin/output.txt", "r").read()
Теперьapplication1 получает содержимое вывода до того, как оно будет обновлено программой!Я хочу, чтобы Aplication1 дождался завершения работы программы1 и обновления через output.txt
. Пожалуйста, дайте мне понять, как мне это сделать ..
Спасибо:)