LearningENVI&IDL分享 http://blog.sciencenet.cn/u/dongyanqing Learning ENVI&IDL

博文

IDL下关闭打开的exe程序和txt文件的方法

已有 6834 次阅读 2012-11-11 02:15 |个人分类:IDL技术|系统分类:科研笔记| IDL, 关闭程序

群里有这个问题,调用了外部的SolarAngle_V5.2.exe,该exe运行后无法自动关闭,且exe生成一个txt并用记事本打开。能否用IDL来关闭?

对外部运行的程序,IDL无法直接关闭。如果需要关闭就应该从dos命令上考虑,dos命令行下关闭运行的SolarAngle_V5.2.exe和记事本程序(notepad.exe)命令如下:

taskkill /im solarangle_v5.2.exe

taskkill /f /im notepad.exe

IDL下调用的命令代码段如下:

PRO test_IdlCloseExe

        spawn,'C:tempSolarAngle_win_v5.2_exeSolarAngle_V5.2.exe',/nowait,/noshell
        wait,3
        spawn,'taskkill /im solarangle_v5.2.exe',/nowait,/noshell
        spawn,'taskkill /f /im notepad.exe',/nowait,/noshell

end



参考资料如下:

TASKKILL [/S system [/U username [/P [password]]]]
          { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:
     使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:
     /S     system            指定要连接到的远程系统。

     /U     [domain]user     指定应该在哪个用户上下文执行这个命令。

     /P     [password]        为提供的用户上下文指定密码。如果忽略,提示
                            输入。

     /FI    filter            应用筛选器以选择一组任务。
                            允许使用 "*"。例如,映像名称 eq acme*

     /PID  processid         指定要终止的进程的 PID。
                            使用 TaskList 取得 PID。

     /IM    imagename         指定要终止的进程的映像名称。通配符 '*'可用来
                            指定所有任务或映像名称。

     /T                      终止指定的进程和由它启用的子进程。

     /F                      指定强制终止进程。

     /?                      显示帮助消息。

筛选器:
     筛选器名       有效运算符                 有效值
     -----------    ---------------            -------------------------
     STATUS         eq, ne                     RUNNING |
                                             NOT RESPONDING | UNKNOWN
     IMAGENAME      eq, ne                     映像名称
     PID            eq, ne, gt, lt, ge, le     PID 值
     SESSION        eq, ne, gt, lt, ge, le     会话编号。
     CPUTIME        eq, ne, gt, lt, ge, le     CPU 时间,格式为
                                             hh:mm:ss。
                                             hh - 时,
                                             mm - 分,ss - 秒
     MEMUSAGE       eq, ne, gt, lt, ge, le     内存使用量,单位为 KB
     USERNAME       eq, ne                     用户名,格式为 [domain]user
     MODULES        eq, ne                     DLL 名称
     SERVICES       eq, ne                     服务名称
     WINDOWTITLE    eq, ne                     窗口标题

     说明
     ----
     1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
     2) 远程进程总是要强行 (/F) 终止。
     3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。

例如:
     TASKKILL /IM notepad.exe
     TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
     TASKKILL /F /IM cmd.exe /T
     TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
     TASKKILL /F /FI "USERNAME eq NT AUTHORITYSYSTEM" /IM notepad.exe
     TASKKILL /S system /U domainusername /FI "USERNAME ne NT*" /IM *
     TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"



https://blog.sciencenet.cn/blog-344887-631256.html

上一篇:IDL下文件创建、更新openw/openu的用法,附代码,看注释
下一篇:IDL下矩阵删除第N行的写法
收藏 IP: 58.57.0.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 15:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部