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