如何以编程方式退出基于tcl的命令shell?

时间:2016-05-23 05:55:32

标签: c# tcl

我在命令模式下运行程序(在场景后面)并将其数据输出到窗体。当我读取特定行时(即"运行失败")我尝试使用此代码关闭程序:

void *

在某些计算机中,它可以正常工作,在我接收的其他计算机中:"访问被拒绝"。 我理解它与用户权限有关。

我的问题是如何以不同的方式杀死这个过程?

该过程以tcl模式运行(不知道是否重要),我看到表单窗口输出中的最后一行是:

 if (line.Contains("run failed"))
  Process[] runProc = Process.GetProcessesByName("abc");
  if (runProc .Length == 1)
         runProc [0].Kill();

(其中abc是程序)。显然,它显示了程序的命令提示符。 如果它在命令窗口中运行,我会在命令窗口中输入:

'退出'

该程序将结束并终止。

如何发送'退出'如果出了什么问题就去tcl?

1 个答案:

答案 0 :(得分:2)

使当前进程停止运行的Tcl命令是exit。默认情况下,它使用代码0“成功”退出;使用exit 1(或更大的数字,最多127个可合理携带的数字)使用非零退出代码表示失败。

将您在Tcl子进程中运行的代码转换为脚本可能是值得的,以便自动发生错误终止。当你以交互方式运行时,它才会这样做。