-C#/JAVA-在CMD中运行的应用程序上获取PID
糟糕的英语对不起 如何找到java PID-C#/JAVA-在CMD中运行的应用程序上获取PID,c#,java,C#,Java,糟糕的英语对不起 如何找到java PID Process Server = new Process(); Server.StartInfo.FileName = "cmd.exe"; Server.StartInfo.RedirectStandardInput = true; Server.StartInfo.RedirectStandardOutput = true; Server.StartInfo.RedirectStandardError = true; Server.StartInf
Process Server = new Process();
Server.StartInfo.FileName = "cmd.exe";
Server.StartInfo.RedirectStandardInput = true;
Server.StartInfo.RedirectStandardOutput = true;
Server.StartInfo.RedirectStandardError = true;
Server.StartInfo.UseShellExecute = false;
Server.Start();
StreamWriter InputCommands;
InputCommands = Server.StandardInput;
InputCommands.WriteLine(@"cd ""D:\Other\Server""");
InputCommands.WriteLine(@"java -jar Server155.jar");
可输入
InputCommands.WriteLineAsync("status");
我试着用
Server.StartInfo.FileName = "java.exe";
Server.StartInfo.Arguments = " -jar Server155.jar"
直接获取PID,但java路径更改为“C:\windows\system32”或“C:\Users\name”
但是也不能再输入了,jar也不能加载其他文件
java-jar“D:\JavaServer\test.jar”
正确路径@。蝙蝠跑
D:\JavaServer\test.jar
D:\JavaServer\file\....
WIN key+R运行java
D:\JavaServer\test.jar
C:\windows\system32\file\....
没有CD路径的cmd
D:\JavaServer\test.jar
C:\users\username\file\....
如何获得PID并以正确的路径运行
谢谢你的帮助,答案很简单。 使用
Server.StartInfo.WorkingDirectory
指定程序的“当前目录”的位置
然后,当您运行它时,java程序将尝试读取(或加载,或其他)它假定位于同一目录(作为jar文件)中的文件-该目录实际上是
工作目录
,我不明白直接启动java可执行文件有什么问题。。。你能详细说明一下吗?如果在WIN+R上运行java,java将在C:\windows\system32中搜索其他文件。如果在CMD上运行java,java将搜索C:\Users\username。如果在我的C#程序上运行java..将搜索程序路径。糟糕的英语对不起