Python脚本等待启动某个程序,然后启动另一个程序。(窗口)

Python脚本等待启动某个程序,然后启动另一个程序。(窗口),python,windows,subprocess,monitor,Python,Windows,Subprocess,Monitor,我想编写一个python脚本,它最终将转换为.exe(比如说pyinstaller),并添加到windows启动应用程序列表中。此程序(一旦启动)应“监视”用户,并等待用户启动指定程序(如program1.exe),然后我的python程序应启动另一个指定程序(program2.exe) 我知道有类似subprocess的东西可以从python脚本启动另一个程序,但到目前为止我还不能使它工作;/说到这一部分,我需要监控用户是否启动了指定的程序,我不知道该怎么做。我不希望有一个完整的解决方案(尽管

我想编写一个python脚本,它最终将转换为.exe(比如说pyinstaller),并添加到windows启动应用程序列表中。此程序(一旦启动)应“监视”用户,并等待用户启动指定程序(如program1.exe),然后我的python程序应启动另一个指定程序(program2.exe)


我知道有类似subprocess的东西可以从python脚本启动另一个程序,但到目前为止我还不能使它工作;/说到这一部分,我需要监控用户是否启动了指定的程序,我不知道该怎么做。我不希望有一个完整的解决方案(尽管找到这样的解决方案会很好,p),但任何指南或线索都会非常有用。

对于监控用户是否启动了该程序,我将使用psutil: 为了从python脚本启动另一个程序,我将使用subprocess

要使用子流程启动某些内容,可以执行以下操作:

PATH_TO_MY_EXTERNAL_PROGRAM = r"C:\ProgramFiles\MyProgram\MyProgramLauncher.exe"
subprocess.call([PATH_TO_MY_EXTERNAL_PROGRAM])
但是,如果它与调用exe一样简单,则可以使用:

PATH_TO_MY_EXTERNAL_PROGRAM = r"C:\ProgramFiles\MyProgram\MyProgramLauncher.exe"
os.system(PATH_TO_MY_EXTERNAL_PROGRAM)
希望这有帮助


-亚历克斯

非常感谢!子流程工作得很好,我已经成功地完美地检测到了我正在运行的流程。但是这个“subprocess.call”似乎正在等待进程结束。有没有办法跳过这个?我的意思是启动这个外部进程,然后关闭我的脚本?@Devlige,
subprocess.call
wrapps
subprocess.Popen
,等待进程退出并返回退出代码。如果你不想等待,直接打电话给Popen。