从python脚本运行python脚本,但在python脚本之外

从python脚本运行python脚本,但在python脚本之外,python,parallel-processing,scripting,execute,Python,Parallel Processing,Scripting,Execute,听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案 到底是什么问题? 我想运行2个脚本。在第一个脚本中,我调用另一个脚本,但我希望它们并行地继续,而不是在两个单独的线程中。主要是我不希望第二个脚本在第一个python脚本中运行(这意味着如果我从python脚本运行Chrome浏览器,然后关闭python脚本,Chrome也将关闭) 我想要的是在Linux机器上:我打开两个终端,在每个终端上运行两个脚本——它们不是两个线程,它们彼此独立,关闭一个不会关闭另一个。或者就像在Linux机器上一样

听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案

到底是什么问题?

我想运行2个脚本。在第一个脚本中,我调用另一个脚本,但我希望它们并行地继续,而不是在两个单独的线程中。主要是我不希望第二个脚本在第一个python脚本中运行(这意味着如果我从python脚本运行Chrome浏览器,然后关闭python脚本,Chrome也将关闭)

我想要的是在Linux机器上:我打开两个终端,在每个终端上运行两个脚本——它们不是两个线程,它们彼此独立,关闭一个不会关闭另一个。或者就像在Linux机器上一样,我可以在后台运行2个python脚本,并带有“python xxx.py&”(&)符号

摘要:

我想在'FIRST.py'脚本'SECOND.py'脚本中运行。但是,不使用线程模块,并且主要具有独立于FIRST.py脚本的SECOND.py脚本,也就是说,关闭FIRST.py不会对SECOND.py产生任何影响。 解决方案应该在WINDOWS、LINUX和MAC上运行

顺便说一句: 我在windows上试过:

subprocess.call(['python','second.py','&'])
subprocess.call(['python','second.py'])
os.system('python second.py') # I was desperate
  • 它们连续运行,因此first.py脚本将被阻止,直到second.py完成
我没有尝试过使用daemon=False线程,但我觉得这是一种恶魔,我觉得我的技能远不能控制操场外的线程:)


提前感谢您的帮助

您可以使用
子流程
模块中的
Popen
构造函数启动后台流程,使用

import subprocess
p = subprocess.Popen(["python","second.py"])
创建后台进程,并且不会阻止执行
first.py