【发布时间】:2018-08-19 13:12:07
【问题描述】:
这听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案。
真正的问题是什么?
我想运行 2 个脚本。在第一个脚本中,我调用了另一个脚本,但我希望它们继续并行而不是在 2 个单独的线程中。主要是我不希望第二个脚本在第一个 python 脚本中运行(这意味着如果我从 python 脚本运行 Chrome 浏览器然后关闭 python 脚本,Chrome 也会被关闭)。
我想要的就像在 Linux 机器上一样:我打开两个终端并在每个终端中运行两个脚本 - 它们不是两个线程,它们彼此独立,关闭一个不会关闭另一个。或者它可以像在 Linux 机器上一样,我可以在后台使用 'python xxx.py &' (&) 符号在终端中运行 2 个 python 脚本。
总结:
我想在 'FIRST.py' 脚本 'SECOND.py' 脚本中运行。但不是线程模块,主要是 SECOND.py 脚本独立于 FIRST.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 进行线程处理,但我觉得它有点像恶魔,我觉得我的技能还没有到可以控制操场外存在的线程的程度:)
提前感谢您的帮助
【问题讨论】:
标签: python parallel-processing scripting execute