使用Process.Start()时,如何在程序的持续时间内保持cmd提示符处于打开状态?

时间:2011-02-24 21:29:16

标签: c# selenium-rc

现在我正在尝试使用C#打开一个.java服务器或启动同一服务器的.bat文件。我能够很好地启动它,但是如果我想执行的单个命令快速关闭的话。问题是我需要保持cmd窗口打开以保持服务器运行。

我有一些不同的版本,我想开始这个过程,这是最短的发布过程:

Process seleniumServer;
ProcessStartInfo seleniumServerProcessStartInfo = new ProcessStartInfo("java", @"C:\Users\full\path\to\file\selenium-server.jar");
Process.Start(seleniumServerProcessStartInfo);

如何确保弹出启动selenium-server.jar文件的cmd窗口保持打开状态,直到程序关闭?

4 个答案:

答案 0 :(得分:4)

您可以改为运行cmd /C your-command,这样可以保持命令行打开。

答案 1 :(得分:4)

使用“-jar foo.jar”作为args启动它,例如:

ProcessStartInfo seleniumServerProcessStartInfo = new ProcessStartInfo("java", @"-jar C:\Users\full\path\to\file\selenium-server.jar");

窗口可能正在消失,因为jar永远不会被启动。

答案 2 :(得分:1)

答案 3 :(得分:1)

可能是java进程因错误而停止(在环境变量上可能很挑剔)

    Process selenium = Process.Start(seleniumServerProcessStartInfo); 

    selenium.WaitForExit();

    int exit = selenium.ExitCode;

    if (exit!=0)
       throw new Exception("java selenium server stopped with error");