相关文章推荐
风度翩翩的麦片  ·  Plugin to set scale ...·  1 周前    · 
大力的长颈鹿  ·  python - Conda env ...·  1 周前    · 
好帅的大熊猫  ·  14.04 - Fatal Python ...·  1 周前    · 
焦虑的面包  ·  Get Unique Values ...·  4 天前    · 
读研的水煮鱼  ·  API - python - ...·  4 天前    · 
大力的荒野  ·  Python 数据可视化的 3 ...·  1 年前    · 
酷酷的红金鱼  ·  vue移动端缩放-掘金·  2 年前    · 
坏坏的柿子  ·  Cannot find the file ...·  2 年前    · 

在Python中,我怎样才能从主脚本中同时运行另一个Python脚本,并在停止主脚本时关闭它?

2 人不认可
import subprocess 
subprocess.Popen('python', 'second_script.py')

这是否会打开第二个脚本并使它们同时运行?另外,如果我停止主脚本,它是否会关闭第二个脚本?如果不是,我怎样才能做到这一点?

2 个评论
当父进程被销毁时,它的所有子进程也被销毁。我认为所有的子进程都是异步的。
那么,你试过你自己的代码吗?如果主脚本结束,它将杀死子进程......替换代码0】是非阻塞的(主进程将继续运行),而 subprocess.call 是阻塞的(将保持主进程直到子进程结束)。
python
Pookum
Pookum
发布于 2022-03-10
2 个回答
Diego Torres Milano
Diego Torres Milano
发布于 2022-03-10
0 人赞同

You should do something like this

#! /usr/bin/env python3
import subprocess
pid = subprocess.Popen(['second-script']).pid
print(f'pid={pid}')
# do whatever you have to do here
    
Adrades
Adrades
发布于 2022-03-10
0 人赞同

我不太明白你需要什么。

如果你想在另一个脚本 "pythonScriptB.py "中使用 "pythonScriptA.py "中编码的一些函数,你可以导入第一个脚本。

from pythonScriptA import *