Java 9 hübsche Weise provied Informationen der Process
zu bekommen, aber ich weiß noch nicht, wie die CommandLine
& arguments
des Prozess zu erhalten:Wie command & Argumente des Prozesses in Java erhalten 9
Process p = Runtime.getRuntime().exec("notepad.exe E:\\test.txt");
ProcessHandle.Info info = p.toHandle().info();
String[] arguments = info.arguments().orElse(new String[]{});
System.out.println("Arguments : " + arguments.length);
System.out.println("Command : " + info.command().orElse(""));
System.out.println("CommandLine : " + info.commandLine().orElse(""));
Ergebnis:
Arguments : 0
Command : C:\Windows\System32\notepad.exe
CommandLine :
Aber ich erwarte:
Arguments : 1
Command : C:\Windows\System32\notepad.exe
CommandLine : C:\Windows\System32\notepad.exe E:\\test.txt
einfach weiter zu debuggen, können Sie versuchen, Ihre ProcessHandler 'p.toHandle()' 'mit ProcessHandle.current()' ersetzen und ausführen, wenn Sie einige Werte in den erwarteten Bereichen erhalten, um zu sehen,? Meistens ist es interessant zu sehen, ob der Prozess-Handler Ihres aktuellen Prozesses geeignet ist oder nicht. – nullpointer
Nicht glücklich, immer noch gleich. – Jerry06