Я пытаюсь создать подпроцесс, который должен работать после закрытия основного процесса.Эта часть работает нормально, но если я перенаправлю вывод этого процесса в файл, я не смогу запустить сценарий второй раз, потому что процесс все еще блокирует файл журнала.
Этот короткий пример демонстрирует проблему:В этом случае второй процесс - «блокнот» и запускается «other.cmd».В то время как основным процессом / сценарием является «test_it.py», который запускается «start_it.cmd».
start_it.cmd
@python test_it.py > test.log
test_it.py
import subprocess
from subprocess import DEVNULL, STDOUT
subprocess.Popen(["other.cmd"], stdin=DEVNULL, stdout=DEVNULL, stderr=STDOUT)
other.cmd
start notepad
Когда start_it.cmd
выполняется во второй раз, произойдет сбой с этим сообщением об ошибке "Процесс не может получить доступ к файлу, поскольку он используется другим процессом ".
Как запустить подпроцесс, чтобы он не блокировал файл журнала?