0
親コードから無限ループスクリプトを呼び出したい。Pythonでのサブプロセス
from subprocess import Popen
import subprocess
import os
import sys
proc=subprocess.Popen([sys.executable, os.getcwd()+'/A.py'],shell=False, stdout=subprocess.PIPE)
print(proc.communicate())
print('Hi')
と私のスクリプトは次のとおりです。
import time
def main():
while True:
print('HI2')
time.sleep(3)
if __name__ == '__main__':
main()`
が、それは動作しませんし、popenのは、スクリプトをブロックしません。つまり、なぜprint( 'Hi')構文が機能しないのかということです。
無限の子プロセスを終了する方法を教えてください。 –
あなたはそのために 'proc.terminate()'を使用できるはずです –
あなたの答えをありがとう。 Eサブプロセス呼び出しスクリプトを含み、各スクリプト内にはマルチプロセスがあります。親プロセス(私はスクリプトを閉じることを意味します)を終了している間、子プロセスはまだ生きています! –