python 关闭路径为"..." 的程序
  X5zJxoD00Cah 2023年11月19日 26 0
import os
import psutil

# True, False, None(未成功执行, 不存在)
# 此种for循环, 不能else return
# pid 进程id
# 信号编号==9 强制结束
def fun_kill(path):
    if os.path.exists(path):
        for proc in psutil.process_iter(['pid', 'name', 'exe']):
            if proc.info['exe'] == path:
                print(proc)
                print(path, "has been found, pid:", proc.info['pid'])
                os.kill(proc.info['pid'], 9)
                print(path, "process has been killed, pid:", proc.info['pid'])
                return True
        print(path, "is not running")
        return False
    else:
        print(path, "does not exist")
        return None

fun_kill("...")



你可以使用Python的ospsutil库来实现这个功能。下面是一个示例代码:

import os
import psutil

def close_program(path):
    for proc in psutil.process_iter(['pid', 'name', 'exe']):
        if proc.info['exe'] == path:
            os.kill(proc.info['pid'], 9)

close_program("...")

这段代码会遍历正在运行的所有进程,如果进程的可执行文件路径与给定的路径匹配,那么就会结束这个进程。请注意,你可能需要管理员权限来运行这段代码。

警告:在使用这段代码时要小心,因为错误地结束某个进程可能会导致系统不稳定或数据丢失。在使用之前,确保你知道这段代码的作用,并且已经保存了所有重要的工作。


这段代码的主要目的是关闭指定路径下的程序。下面是对这段代码的逐句解释:

  1. import os:这行代码导入了Python的os模块,这个模块提供了很多操作系统相关的功能。
  2. import psutil:这行代码导入了Python的psutil模块,这个模块提供了获取系统信息(如CPU、内存、磁盘、网络、进程等)的功能。
  3. def close_program(path)::这行代码定义了一个名为close_program的函数,这个函数接受一个参数path,这个参数表示要关闭的程序的路径。
  4. for proc in psutil.process_iter(['pid', 'name', 'exe'])::这行代码遍历所有正在运行的进程。psutil.process_iter(['pid', 'name', 'exe'])会返回一个迭代器,每次迭代都会返回一个进程对象,这个对象包含了进程的pid(进程ID)、name(进程名)和exe(进程的可执行文件路径)。
  5. if proc.info['exe'] == path::这行代码检查当前进程的可执行文件路径是否与给定的路径匹配。
  6. os.kill(proc.info['pid'], 9):如果路径匹配,这行代码就会结束这个进程。os.kill函数接受两个参数:第一个参数是要结束的进程的ID,第二个参数是信号编号。在这里,信号编号为9,表示我们要强制结束这个进程。
  7. close_program("..."):这行代码调用了close_program函数,参数为"...",表示我们要关闭这个路径下的程序。

这段代码没有输出结果,它的主要作用是结束指定路径下的程序。如果成功结束了程序,那么这个程序就会立即关闭;如果没有找到指定路径的程序,或者结束进程失败,那么这段代码不会有任何效果。

警告:在使用这段代码时要小心,因为错误地结束某个进程可能会导致系统不稳定或数据丢失。在使用之前,确保你知道这段代码的作用,并且已经保存了所有重要的工作。



psutil是一个Python的第三方模块,专门用来获取操作系统以及硬件相关的信息,比如:CPU、磁盘、网络、内存等等¹。它主要应用于系统监控,分析和限制系统资源及进程的管理¹²。下面是一些psutil的常用功能和使用方法:

  1. 获取CPU信息¹:
  • psutil.cpu_count(): 获取CPU的逻辑数量。
  • psutil.cpu_count(logical=False): 获取CPU的物理核心数量。
  • psutil.cpu_times(): 统计CPU的用户/系统/空闲时间。
  • psutil.cpu_percent(interval=0.5, percpu=True): 查看CPU的使用率。
  • psutil.cpu_stats(): 查看CPU的统计信息,包括上下文切换、中断、软中断,以及系统调用次数等等。
  • psutil.cpu_freq(): 查看CPU的频率。
  1. 内存相关¹:
  • psutil.virtual_memory(): 查看内存使用情况。
  • psutil.swap_memory(): 查看交换内存信息。
  1. 磁盘相关¹:
  • psutil.disk_partitions(): 查看磁盘分区。
  • psutil.disk_usage("C:\\"): 查看某个磁盘使用情况。
  • psutil.disk_io_counters(): 查看磁盘 IO 统计信息。
  1. 进程管理²:
  • psutil.process_iter(['pid', 'name', 'exe']): 遍历所有进程。
  • os.kill(proc.info['pid'], 9): 结束进程。

以上只是psutil的一部分功能,更多的功能可以参考官方文档²。在使用psutil时,需要先通过pip安装:pip install psutil¹²。

注意:在使用这些功能时要小心,因为错误地结束某个进程可能会导致系统不稳定或数据丢失。在使用之前,确保你知道这段代码的作用,并且已经保存了所有重要的工作。

源: 与必应的对话, 2023/11/15

(1) Python常用库之psutil使用指南 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/380842937.

(2) Python运维自动化psutil 模块详解(超级详细) - CSDN博客. https://blog.csdn.net/weixin_44621343/article/details/112726406.

(3) 第二十七章 Psutil 模块 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/140524953.

(4) python psutil系统监控详解 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/79490318.

(5) Python编程——psutil模块的使用详解_import psutil-CSDN博客. https://blog.csdn.net/qq_38684504/article/details/87956015.

(6) undefined. https://pypi.org/project/psutil/.

(7) undefined. http://code.google.com/p/psutil/.

(8) undefined. https://pypi.python.org/packages/source/p/psutil/psutil-5.8.0.tar.gz.

(9) undefined. https://baike.baidu.com/item/时间片/6525414?fr.

(10) undefined. http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率.


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   26   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   34   0   0 Python.net
X5zJxoD00Cah