Python中如何实现进程提醒功能?

当操作系统中出现某进程时,予以弹窗提醒(也可有权限时直接杀死),这个代码怎么写呢?
Python中如何实现进程提醒功能?

3 回复

在Python里实现进程提醒,核心就是监控进程状态并在特定事件发生时通知你。最直接的方式是用psutil库来轮询检查,结合系统通知(比如plyer)或发邮件。下面给你一个完整的例子,这个脚本会监控指定进程名,当进程结束时用桌面弹窗提醒你:

import psutil
import time
from plyer import notification
import sys

def monitor_process(process_name):
    """
    监控指定名称的进程,退出时发送通知。
    """
    print(f"开始监控进程: {process_name}")
    while True:
        # 查找所有匹配进程名的进程
        found = False
        for proc in psutil.process_iter(['name']):
            if proc.info['name'] == process_name:
                found = True
                break
        
        if not found:
            # 进程已结束,发送通知
            notification.notify(
                title='进程提醒',
                message=f'进程 {process_name} 已结束运行。',
                timeout=5
            )
            print(f"进程 {process_name} 已结束,通知已发送。")
            break
        
        time.sleep(2)  # 每2秒检查一次

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("用法: python process_monitor.py <进程名>")
        sys.exit(1)
    
    target_process = sys.argv[1]
    monitor_process(target_process)

怎么用:

  1. 先装库:pip install psutil plyer
  2. 把上面代码存成process_monitor.py
  3. 在命令行运行,比如要监控记事本:python process_monitor.py notepad.exe

代码要点:

  • psutil.process_iter()遍历所有进程,按名字匹配。
  • while循环定期检查,发现进程没了就触发通知。
  • plyernotification负责弹窗,Windows/macOS/Linux都支持。

其他提醒方式(按需替换):

  • 发邮件:用smtplibemail库。
  • 写日志:直接用Python的logging模块。
  • 发声:用winsound(Windows)或os.system播音频文件。

一句话总结:用psutil轮询检查进程状态,配合通知库实现提醒。


直接杀掉它的父进程

关键词 Python process exist
弹窗 Python tkinter
杀死 python process kill
另外,懒得话可以直接调用操作系统自带的命令行工具来杀进程。*nix killall; Windows taskkill

回到顶部