Jeśli nie utknąłeś na starożytnej maszynie JVM, java.lang.ProcessBuilder
znacznie ułatwia określenie procesu, ustawienie jego środowiska, odrodzenie i obsługę deskryptorów plików.
Ta klasa służy do tworzenia procesów systemu operacyjnego.
Każda instancja ProcessBuilder
zarządza zbiorem atrybutów procesu. Metoda start()
tworzy nową instancję Process
z tymi atrybutami. Metoda start()
może być wielokrotnie wywoływana z tej samej instancji w celu utworzenia nowego podprocesu o identycznych lub pokrewnych atrybutach.
...
Rozpoczęcie nowego procesu, który używa domyślnego katalogu i środowiska pracy jest łatwe:
Process p = new ProcessBuilder("myCommand", "myArg").start();
Oto przykład, który uruchamia proces z katalogu zmodyfikowany pracy i środowiska:
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory(new File("myDir"));
Process p = pb.start();
Co to jest komunikat pmd pokazujący dokładnie? – Tudor
Opis problemu: Nie używaj Runtime.exec() do wykonywania poleceń – kannanrbk
To jest absurdalne stwierdzenie, bez absolutnie żadnego zabezpieczenia. – ControlAltDel