我在命令模式下运行程序(在场景后面)并将其数据输出到窗体。当我读取特定行时(即"运行失败")我尝试使用此代码关闭程序:
void *
在某些计算机中,它可以正常工作,在我接收的其他计算机中:"访问被拒绝"。 我理解它与用户权限有关。
我的问题是如何以不同的方式杀死这个过程?
该过程以tcl模式运行(不知道是否重要),我看到表单窗口输出中的最后一行是:
if (line.Contains("run failed"))
Process[] runProc = Process.GetProcessesByName("abc");
if (runProc .Length == 1)
runProc [0].Kill();
(其中abc是程序)。显然,它显示了程序的命令提示符。 如果它在命令窗口中运行,我会在命令窗口中输入:
'退出'
该程序将结束并终止。
如何发送'退出'如果出了什么问题就去tcl?
答案 0 :(得分:2)
使当前进程停止运行的Tcl命令是exit
。默认情况下,它使用代码0“成功”退出;使用exit 1
(或更大的数字,最多127个可合理携带的数字)使用非零退出代码表示失败。
将您在Tcl子进程中运行的代码转换为脚本可能是值得的,以便自动发生错误终止。当你以交互方式运行时,它才会这样做。