23. python杀死指定进程极其子进程

embedded/2024/10/22 11:00:10/

代码

python">import argparse
import logging
import signal
import threading_c = threading.RLock()
logger = logging.getLogger(name="[ProcessManager]")
logger.setLevel(logging.DEBUG)
# 终端Handler
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logging.DEBUG)
formatter = logging.Formatter('\033[32m %(asctime)s - %(name)s - %(levelname)s - %(message)s \033[0m ')
consoleHandler.setFormatter(formatter)
logger.addHandler(consoleHandler)def kill_process(pid, sig=signal.SIGTERM, child_only=False):"""默认: 杀死进程极其子进程:param pid: 待杀死的进程ID:type pid: int:param sig: 杀死进程时使用的信号, 参考 Signal_:type sig: int:param child_only: 是否仅杀死子进程, 而保留该进程:type child_only: bool"""import psutil_c.acquire()try:p = psutil.Process(pid)process_list = p.children(True)try:if not child_only:p.send_signal(sig)logger.info("[Stop] kill father_pid:{pid} success".format(pid=pid))except psutil.NoSuchProcess:passfor sub_process in process_list:try:sub_process.send_signal(sig)logger.info("[Stop] kill child_pid:{pid} success".format(pid=sub_process.pid))except psutil.NoSuchProcess:passfinally:_c.release()if __name__ == '__main__':"""代码执行:python stop.py -p 1234"""parser = argparse.ArgumentParser()parser.add_argument("-p", "--pid", dest="Pid", help="kill进程", type=int)ns = parser.parse_known_args()[0]pid = ns.Pidif pid:kill_process(pid, sig=signal.SIGKILL)logger.info("[Stop] finished")

http://www.ppmy.cn/embedded/43115.html

相关文章

设计模式--策略模式

策略模式是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。这种模式在许多应用场景中非常有用,例如在实现排序算法、游戏规则、导航策略以及用户界面(UI)交互时。 应用场…

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署 SaaS 模式的云 HIS 更适用于基层医疗机构,而传统的 HIS 已经在大中型医疗机构大规模应用。过去,国内的大中型医疗机构投入了大量的资金来进行信息化系统建设…

部门来了个测试开发,听说是00后,上来一顿操作给我看蒙了...

公司新来了个同事,听说大学是学的广告专业,因为喜欢IT行业就找了个培训班,后来在一家小公司实习半年,现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍,服务器缩减一半,性能反而提升4倍&#xff01…

第十一节 SpringBoot Starter 面试题

一、面试题 很多同学的简历都写着熟悉 SpringBoot, 而 Starter 的实现原理被当作的考题的的情况越来越多。 来源牛客网关于 starter 的一些面试题 情景一、路虎一面 情景二、蔚来 情景三、同花顺 Starter 频频出现,因此在面试准备时,这道题…

AI商业化之路:开源大模型VS闭源大模型

开源大模型与闭源大模型,你更看好哪一方? 简介:评价一个AI模型“好不好”“有没有发展”,首先就躲不掉“开源”和“闭源”两条发展路径。对于这两条路径,你更看好哪一种呢? 探讨开源大模型和闭源大模型在商…

如何做好服务器数据防泄密

在数字化时代,服务器数据的安全与保密性对于企业而言至关重要。数据泄露不仅可能导致经济损失,还可能损害声誉和客户关系。因此,做好服务器数据防泄露工作显得尤为重要。 首先,加强安全意识是防止数据泄露的首要任务。企业需要认识…

DAMA 数据管理知识体系指南:第三章 数据治理

第三章在是 CDGA|CDGP 考试的重点考核章节之一,知识点比较密集,本章重点为语境关系图及数据治理概念性的知识。建议抓住关键知识点,多刷题目! CDGA考题分布:10题,共10分 CDGP考题分布:单选X2&am…

uniapp android使用uni.chooseLocation,app云打包后,定位地址列表一直在加载中

复现BUG 1、自己生成一个证书 参考生成证书流程 2、使用刚生成证书的SHA1 ,重新创建一个高德key 高德开放平台地址 3、打包(打包的包名要与高德申请key所填的包名一致)