TSKILL并不总是在终端服务中终止程序

时间:2012-02-02 19:23:17

标签: vb6 terminal-services

背景:我们有一个在终端服务上运行的VB6应用程序[1]。作为更新脚本的一部分,tskill [2]用于终止所有正在运行的应用程序,以便可以更新应用程序。有时tskill无法终止进程,尽管远程处理,并且使用任务管理器可以处理它。

问题:什么可能导致VB6 mdiform应用程序挂起而不会关闭?我们可以添加到应用程序中以使其更优雅地关闭吗?

注意:
1 - 应该已经更换了,但是SAP更换的时间比计划落后了1年 2 - 脚本命令基本上是tskill theApp /server:theServer,因为它在所有服务器上进行迭代。

1 个答案:

答案 0 :(得分:1)

  1. 该应用程序实际上可以有代码来忽略关闭/终止请求并取消卸载。
  2. 我已经看到打开的消息框会导致应用程序无法响应关闭请求。
  3. 主窗体可能正在卸载,但内存中还有其他形式导致EXE在没有UI的情况下继续运行。