如果简单的用循环来监视,效率不高。因此就想到了结合at来使用。我的要求是批处理运行时判断是否有某个进程,如没有则运行,否则退出。
具体做法是这样。运行时用tasklist判断进程是否存在。如存在则使用at命令,在几分钟后运行批处理本身。这样就可以达到监视的目的了。
核心就是这句
at %hou%:%min% %current_dir%batr.cmd> nul
%min%是当前时间加上2,如果%min%大于59,%hou%大于23,只须处理一下就可以了。
这个程序效率还行,只在运行时才占用资源,大部分时间是不占资源的。大家觉得这种方法可取吗?
具体做法是这样。运行时用tasklist判断进程是否存在。如存在则使用at命令,在几分钟后运行批处理本身。这样就可以达到监视的目的了。
核心就是这句
at %hou%:%min% %current_dir%batr.cmd> nul
%min%是当前时间加上2,如果%min%大于59,%hou%大于23,只须处理一下就可以了。
这个程序效率还行,只在运行时才占用资源,大部分时间是不占资源的。大家觉得这种方法可取吗?
