我正在尝试创建一个任务,当一个应用程序关闭时,另一个应用程序也会自动关闭。
例如,我在 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