用CGI在NT下调用外部程序为什么会死机?而在w98下没问题(100分)

  • 主题发起人 主题发起人 huangyan
  • 开始时间 开始时间
H

huangyan

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要在CGI中启动一个外部程序,在98下没问题,但是在NT下一启动外部程序,那个外部程序就死住了,由于我的CGI是处于等待状态,所以CGI也死住了.用任务管理器杀掉外部程序的进程后CGI也不退出且无法杀掉.
我的win98配置如下:windows98第一版、IE5、PWS、Delphi4编译
NT配置如下:winNT4、SP5、IE5、IIS、Delphi4编译
用控件和用ShellExecute启动都死机,不知为何,请各位高手指点迷津!谢谢
 
在NT下只执行外部程序会死机么?
 
不调用外部程序的CGI我还没试
 
你看看你的程序中的数据库是不是在每次运行完后给free了没有?
你用table.colse;或是query1.close;来关闭数据库。不然就会出现
你所说的那种情况。
 
你是用哪一个函数调用外部程序?
 
cgi程序权限不够
 
ShellExecute 要用到shell,而你的cgi是被internet服务以另外一个帐号
以非交互方式调用的。

标准的创建子进程的api是: CreateProcess、 WinExec
或者c语言函数 exec、spawn 等
 
多人接受答案了。
 
后退
顶部