gpt4 book ai didi

Python 子进程 pkill

转载 作者:行者123 更新时间:2023-12-05 07:46:39 24 4
gpt4 key购买 nike

我想在 python 的子进程中使用 pkill -f myPattern:

import subprocess as sp

def stop_process(name,host):
host = host.strip()
if host == socket.gethostname():
sp.call ([ 'pkill -f', name ])
else:
sp.call ([ 'ssh', host, 'pkill -f ' + name ])

当我对集群中的所有节点调用 stop_process 时,它适用于除当前节点之外的所有节点。也就是说,当 host == socket.gethostname() 时,应用程序打印 Terminated 并退出。

使用给定模式停止进程是否正确?如果是,我该如何解决这个问题?

谢谢

最佳答案

当你启动你的 python 程序时,你可能会调用它并传递要杀死的进程的名称(只是在这里猜测......)。pkill 也会找到这个进程(您使用 -f)并在它正确终止之前杀死它。你需要找到一种方法来过滤 python 程序的 pid(例如尝试 os.getpid()),或者只使用进程名称(避免 -f选项)。

它只发生在你的本地机器上,因为只有在那里你才能运行 python 程序。

关于Python 子进程 pkill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40503576/

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