繁体   English   中英

使用Process.Start()时,如何在程序运行期间保持cmd提示符打开?

[英]When using Process.Start(), how can I keep the cmd prompt open for the duration of the program?

现在,我正在尝试使用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窗口保持打开状态,直到程序关闭?

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

以“ -jar foo.jar”作为参数启动它,例如:

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

该窗口可能正在消失,因为该罐子从未启动过。

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

    Process selenium = Process.Start(seleniumServerProcessStartInfo); 

    selenium.WaitForExit();

    int exit = selenium.ExitCode;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM