奇怪的Python子进程挂起

2024-03-28 12:59:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个无限循环,可以这样做:

 print("text for debugging my issue1")
 execution=["python", "-u", mainScript, directory, folder, cardIP]
 _,_=subprocess.Popen(execution, shell=True).communicate() 

MainScript中,第一行是:

print("text for debugging my issue2")

在那一行之后,我只是印了很多东西。(在MainScript

现在,我的问题是,大多数时候,它工作正常,我可以看到打印:

"text for debugging my issue1"
"text for debugging my issue2"
 [data printed in 'MainScript']

但有时,它被困在_,_=subprocess.Popen(execution, shell=True).communicate(),意味着我看到:

"text for debugging my issue1"
"text for debugging my issue2"
 [data printed in 'MainScript']
"text for debugging my issue1"
"text for debugging my issue2"
 [data printed in 'MainScript']
"text for debugging my issue1"
  ///Missing "text for debugging my issue2" here and all of 'MainScrip' output,
  ///Here it just stop working.

它只是挂着。当我按下任何一个键,它立即继续工作,打印所有的东西和程序正在运行的地方停止。你知道吗


Tags: textinfordatamyshellsubprocessprint