python关闭一个子进程_python3关闭子进程的两种方式

用scrapy做爬虫的时候需要开多个爬虫子进程,为了定时开启和关闭爬虫子进程,需要对子进程做控制,而关闭进程有两种方法

-----要简单高效,直接看方法2吧-----

方法1:通过获取全部windows进程,获取增量进程方式

该方法是通过获取所有windows进程,将所有进程名为“python.exe”的获取,最后在杀的时候,除了主进程外,全部杀掉

该方法存在的问题在于,如果杀进程的时候刚好有其他人的python在运行,就把其他的也杀了

主要方法:os.kill(pid,signal.SIGTERM)

不是,不是,不是:os.kill(pid, signal.SIGKILL),这个报错

from multiprocessing import Process

import psutil

import signal

import time

main_proce_id = os.getpid()

def get_process_info():

python_pids = []

pids = psutil.pids()

for pid in pids:

p = psutil.Process(pid)

pid_name = p.name()

if pid_name == 'python.exe':

python_pids.append(pid)

return python_pids

def byProcess():

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值