zoukankan      html  css  js  c++  java
  • Vegas Pro 17.0的假后台进程bug 与解决方案

    不知道是不是通病
    胡萝卜好吃

    bug描述:

    关闭Vegas后,后台有个假进程,并占用了200M左右内存空间。问题在于,再次打开Vegas时,它会另开一个进程,不会杀死原来的假死进程。如此往复开个10几次,3G内存就消耗殆尽了。
    任务管理器中假进程残留

    解决方案:

    在桌面新建批处理bat,并将一下代码复制进去,以后用批处理代替原来的快捷方式而启动。
    如果想要杀死假后台进程,再运行下批处理就行(仅杀死,需再运行一次批处理才会重新打开Vegas)

      @echo off
      mode con: cols=42 lines=1
      tasklist /fo csv /nh /fi "IMAGENAME eq vegas170.exe" /fi "status eq running"| findstr vegas170>nul && (title 检测到Vegas已运行 & set/p=Vegas已运行,等7秒或按s跳过<nul & choice /c s /t 7 /d s>nul)
      (tasklist /fo csv /nh /fi "IMAGENAME eq vegas170.exe" | findstr vegas170 >nul) && (echo; &pause) || (start vegas170 %* & exit)
      (for /f tokens^=2^ delims^=^"^, %%i in ('tasklist /fo csv /nh /fi "IMAGENAME eq vegas170.exe" /fi "status eq not responding" ') do tskill %%i) && (title 已杀死伪进程 & echo; &set/p=已杀,可重开批处理来打开Vegas,按任意键<nul & pause>nul)
    

    代码详解:

      @echo off
      :: 关闭回显
      mode con: cols=42 lines=1
      :: 设置窗口大小,宽42,行1
      tasklist /fo csv /nh /fi "IMAGENAME eq vegas170.exe" /fi "status eq running"| findstr vegas170>nul && (title 检测到Vegas已运行 & set/p=Vegas已运行,等7秒或按s跳过<nul & choice /c s /t 7 /d s>nul)
      :: 显示任务列表,以csv简单列表格式显示结果,并筛选后只显示:进程名(映像名)为vegas170.exe 且 状态为running。将结果传递给findstr过程,寻找"vegas170"关键字 。找到后(findstr执行成功)叫你等待7秒,等待假进程
      (tasklist /fo csv /nh /fi "IMAGENAME eq vegas170.exe" | findstr vegas170 >nul) && (echo; &pause) || (start vegas170 %* & exit)
      :: 如果还是能找到Vegas进程,就叫你再按下任意键,**否则就新开一个Vegas**
      (for /f tokens^=2^ delims^=^"^, %%i in ('tasklist /fo csv /nh /fi "IMAGENAME eq vegas170.exe" /fi "status eq not responding" ') do tskill %%i) && (title 已杀死伪进程 & echo; &set/p=已杀,可重开批处理来打开Vegas,按任意键<nul & pause>nul)
      :: for结构用来提取字符串(batch反人类设计),提取无响应(not respoding)的Vegas进程ProcessID,把提取的PID传递给tskill过程,并告诉你暗杀成功XD
    

    注意:tskill比taskkill更为强力,taskkill /f 会提示“没有此任务的实例运行”,tskill可以(搞不懂)
    tskill更强力

    运行结果:

    第一次打开Vegas,批处理跳过第1行;关闭Vegas后,再运行会杀死假进程;再运行一次批处理,Vegas才会被重新启动

    有趣的现象:

    刚关闭Vegas,若不等待几秒,进程状态仍被识别为runnning(跟Windows判断机制有关?)

  • 相关阅读:
    java多态课后作业
    java继承与接口课后作业
    java数组课后作业
    javaString课后作业
    Java类与对象课后作业
    java方法课后作业
    java基本知识课后作业
    读《大道至简》第二章有感
    课堂作业(字符串转化并计算)
    读《大道至简》第一章有感
  • 原文地址:https://www.cnblogs.com/-AClon-/p/12940966.html
Copyright © 2011-2022 走看看