通过oracle应用程序服务器杀死非活动表单会话

时间:2013-03-04 15:34:12

标签: forms oracle host taskkill

我正在尝试在Oracle表单中使用host命令。我从用户那里获得了进程id作为输入,并且在单击ok时,表单应该终止与进程id相关的会话。

PS:用户只会输入无效的frmweb.exe进程ID。

cmd := 'CMD /C taskkill /F /FI /pid 'process which is got as input' /IM frmweb.exe';
host(cmd)

我还尝试将上面的命令写入应用程序服务器中的.bat文件。当尝试执行bat文件时,它会运行。但是当试图通过双击应用程序服务器来运行bat文件时,会话被终止了。

  1. 执行上述操作后,我无法终止此过程。
  2. 我还想知道主机命令是否成功。
  3. 你能帮助我并指导我继续进行。 Orakill和alter session正在运行,但我不想使用它。

1 个答案:

答案 0 :(得分:0)

我尝试将命令执行写入文本以进行调试,并且能够找到解决方案。

cmd := 'CMD /C taskkill /F /FI /pid 'process which is got as input' /IM frmweb.exe>>output.txt';

在命令结尾处写入了一些特殊字符,因为从Oracle Forms调用时命令失败。特殊字符是Oracle Forms代码中的拼写错误。