You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在processA启动时自动运行processB?避免资源消耗型循环脚本

实现进程启动时自动触发另一个进程的方法

方法一:任务计划程序(系统原生工具,推荐)

任务计划程序支持进程启动的事件触发,之前没找到触发条件是因为需要自定义事件筛选,具体步骤:

  1. 打开「任务计划程序」,点击右侧「创建任务」(不要用「创建基本任务」,功能受限)
  2. 切换到「触发器」选项卡,点击「新建」
  3. 在「开始任务」下拉框选「事件」,点击「自定义」→「编辑筛选器」
  4. 在筛选器窗口设置:
    • 「事件日志」选「系统」
    • 「来源」选「Microsoft-Windows-ProcessCreation」
    • 「事件ID」填「4688」(Windows记录进程创建的标准事件ID)
  5. 切换到「XML」标签,勾选「手动编辑查询」,替换成以下XML代码(把C:\Path\To\r6.exe改成你的processA绝对路径):
<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-ProcessCreation'] and EventID=4688]] and *[EventData[Data[@Name='NewProcessName']='C:\Path\To\r6.exe']]</Select>
  </Query>
</QueryList>
  1. 切换到「操作」选项卡,点击「新建」,选「启动程序」,在「程序或脚本」栏填入processB的绝对路径(比如C:\Path\To\r6tracker.exe)
  2. 在「条件」「设置」选项卡按需调整,比如勾选「不管用户是否登录都要运行」,最后保存任务。

方法二:WMI事件订阅(PowerShell实现)

用PowerShell注册WMI事件监听器,基于系统事件触发,无循环资源消耗:

  1. 右键以管理员身份打开PowerShell
  2. 运行以下命令(替换成你的进程路径):
# 监听r6.exe启动事件,触发时启动r6tracker
$query = "SELECT * FROM Win32_ProcessStartTrace WHERE ProcessName='r6.exe'"
Register-WmiEvent -Query $query -Action {
    Start-Process "C:\Path\To\r6tracker.exe"
}
  • 该命令会在后台监听目标进程启动,触发时自动执行启动动作
  • 注意:WMI事件订阅在系统重启后失效,若需持久化,可将这段脚本做成开机启动的任务计划。

注意事项

  • 所有路径必须填绝对路径,避免因工作目录问题导致启动失败
  • 任务计划或PowerShell脚本需要足够权限,确保能正常启动目标进程

内容的提问来源于stack exchange,提问作者Luca Bakavic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 13:27:41