WinSCP Session.ExecuteCommand不等待tomcat5_3停止/开始完成

时间:2015-12-15 10:44:13

标签: tomcat winscp winscp-net

我想从ASP.NET控制我的Tomcat服务器的状态。所以基本上我执行以下命令:

sudo /etc/rc.d/init.d/tomcat5_3 status
sudo /etc/rc.d/init.d/tomcat5_3 stop
sudo /etc/rc.d/init.d/tomcat5_3 start

我使用WinSCP .NET程序集中的方法Session.ExecuteCommand的简单调用,如下所示:

public string ExecScript(string cmd)
{
    try
    {
        CommandExecutionResult result = sessDB.ExecuteCommand(cmd);
        result.Check();
        return result.Output;
    }
    catch (Exception e)
    {
        Console.WriteLine("An error occurred: '{0}'", e);
    }
    return "";
}

我用以下三个命令之一调用ExecScript

string result = ExecScript("sudo /etc/rc.d/init.d/tomcat5_3 status");

status命令正常。总是返回一个字符串,以便我能够解析它并获得Tomcat的正确状态。

但是当我尝试停止/开始时,结果应该如下所示:

第一条消息

Stopping tomcat:            

几秒钟后消息的第二部分

Stopping tomcat:            [OK]

然后出现问题。程序当然不显示这些消息,它只是挂起,输出窗口返回代码259,据我所知,这意味着“命令仍在进行中”。

实际上停止/启动操作成功完成。但我的应用程序没有通知我。没有错误,没有异常,挂起......

任何提示,建议?

0 个答案:

没有答案