如何使用事件 ID 触发器停止多个 Windows 进程?

如何使用事件 ID 触发器停止多个 Windows 进程?

我正在尝试创建一个任务,当一个应用程序关闭时,另一个应用程序也会自动关闭。

例如,我在 Windows 10 上使用带有 Kite 插件(代码 AI 助手)的 Atom.io 文本编辑器。

当我打开 Atom 时,kited.exe它会自动启动,但是当我关闭 Atom 时,Kite 仍在后台运行。它消耗了大量的 CPU 和内存,所以我想让它在我关闭 Atom 时自动关闭。

我的想法是将其作为触发事件的计划任务来处理。事件触发器正在关闭 Atom。任务正在运行 PowerShell 脚本来关闭 Kite:stop-process -name kited

这个问题与从 Windows 事件触发 PowerShell 脚本但是我查看了事件查看器,似乎没有记录第三方应用程序启动/终止时的事件 ID。

总之 - 我请求帮助定义此事件(关闭 Atom),以便它触发 PowerShell 命令stop-process -name kited

也愿意尝试完全不同的方法来完成工作。我只希望当我关闭 Atom 时 Kite 也能关闭。

答案1

我使用 Python 脚本而不是 PowerShell 解决了这个问题。感谢 @SeñorCMasMas 的建议。

伪代码:打开 Atom;列出所有正在运行的应用程序;如果 Atom 在列表中 > 继续循环;否则 > 关闭 Kite

import subprocess, psutil
from time import sleep

subprocess.run(<path to atom.exe>)

while True:
    processes = [p.name() for p in psutil.process_iter()]
    if 'atom.exe' in processes:
        sleep(5)
        continue
    else:
        subprocess.run('tskill kited')
        break

相关内容