记一个在Python中通过名称查找进程并杀死的办法

4 篇文章 0 订阅
4 篇文章 0 订阅

需求是这样的:我想在开启摄像头的同时将本地图像通过mjpg-streamer以及内网穿透将本地视频映射到公网,关闭摄像头时同时杀死mjpg-streamer与内网穿透

分别使用一个子进程

  • 子进程打开mjpg-streamer推流
def op(self):
        os.system('/home/pi/sh/openmjpg.sh')

直接使用终端命令即可,我已将开启mjpg-streamer的命令写入shell中,包括发送ip地址以及一些其他的功能

  • 主进程创建子进程
		self.p=multiprocessing.Process(target=self.op)
        self.p.daemon=True#使用守护进程,当主进程退出时子进程随之退出
        self.p.start()

问题:开启mjpg-streamer的进程PID与子进程不一致,子进程退出后mjpg-streamer仍然工作,可使用命令

ps -A|grep mjpg-stream

通过名称的方式查找进程

问题在于如何在Python中使用该命令找到进程PID并杀死呢
导入包:

import psutil

循环查找进程列表,发现列表中含进程名称即杀死

		#进程名称
		self.PROCNAME = "mjpg_streamer"

        for proc in psutil.process_iter():

            if proc.name() == self.PROCNAME:
                proc.kill()

成功解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香草绵绵冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值