Python 进程id未显示

Python 进程id未显示,python,process,subprocess,Python,Process,Subprocess,当我用以下代码打开文件时 p = subprocess.Popen(fileName, shell=True) 我们这里有两个案例,在第二个案例中,我的应用程序运行良好。但在第一种情况下,行为不当 在一台机器中,该进程id一直存在,直到该进程关闭 在其他计算机中,打开文件后,此进程id将关闭 在这两种情况下,当我使用以下命令检查进程id时: psutil.pid_exists(processId) 在打开文件后的第一种情况下,当我使用进程id检查时,它返回True。当我们关闭文件或进程时,它

当我用以下代码打开文件时

p = subprocess.Popen(fileName, shell=True)
我们这里有两个案例,在第二个案例中,我的应用程序运行良好。但在第一种情况下,行为不当

在一台机器中,该进程id一直存在,直到该进程关闭

在其他计算机中,打开文件后,此进程id将关闭

在这两种情况下,当我使用以下命令检查进程id时:

psutil.pid_exists(processId)
在打开文件后的第一种情况下,当我使用进程id检查时,它返回
True
。当我们关闭文件或进程时,它将返回为
False


在打开文件后的第二种情况下,当我使用进程id检查时,它返回
False

您说哪个文件已打开,您如何知道?您是否检查了退出代码
p.returncode
?您正在执行
p.wait()
?如果没有,则父级可能在子级完成之前退出。为什么要使用
shell=True
?这是不可取的,但在所有情况下。过程和文件是两件不同的事情。进程不会关闭。在Windows上,使用
shell=True
是获取文件名关联的一种QAD方式,例如
.py
->
python
。我正在线程中打开此文件,希望听到更改,并在文件中编辑。这就是为什么我要在这个过程中开放。我如何处理这种情况,因为subprocess.call没有阻塞。然后是下一个命令