gpt4 book ai didi

python - 停止一个正在另一个 Python 脚本中运行的脚本

转载 作者:行者123 更新时间:2023-12-01 01:12:42 24 4
gpt4 key购买 nike

我有一个从主脚本启动的 Python 应用程序,假设是 main.pymain.py (因为我的应用程序已组织)引用并导入同一目录中包含其他功能的其他 .py 文件。当我的应用程序持续运行时,它从另一个脚本导入这样的函数,该函数也应该永远运行,直到被明确取消。

问题是,我如何取消该特定脚本,同时保持其受影响的变量不变并且主脚本/更大的应用程序仍在运行?

我不知道如何针对特定函数来停止其执行。

最佳答案

我在我的utils中使用kill函数来杀死任何我知道名字的不需要的python进程。请注意,以下代码已在 Ubuntu Linux 和 Mac OS 计算机上测试/运行。

def get_running_pids(process_name):
pids = []
p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE)
out, err = p.communicate()
for line in out.splitlines():
if process_name in line.decode('utf-8'):
pid = int(line.decode('utf-8').split(None, 1)[0])
pids.append(pid)
return pids

def kill_process_with_name(process_name):
pids = get_running_pids(process_name)
for pid in pids:
os.kill(pid, signal.SIGKILL)

关于python - 停止一个正在另一个 Python 脚本中运行的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54689784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com