首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python子进程pkill

Python子进程pkill
EN

Stack Overflow用户
提问于 2016-11-09 17:29:11
回答 1查看 1.9K关注 0票数 2

我想在Python子进程中使用pkill -f myPattern

代码语言:javascript
复制
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并退出。

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

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-07-17 23:09:45

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40503576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档