Under de senaste dagarna har en handfull användare berättat att de har hört talas om ett exempel på Java -körningsprocessen.
Godkänd: Fortect
Beskrivning
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
Metoden java.lang.Runtime.exec (String [] cmdarray, String [] envp) kör det nödvändiga kommandot och argumenten i ett helt separat företag med den angivna miljön. Detta är en mångsidig metod. Att ringa formuläret exec (cmdarray, envp) fungerar precis som att ringa envp, exec (cmdarray, null).
Förklaring
Parametrar
-
cmdarray – En matris som innehåller kommandot för att framkalla dess argument.
-
envp – Ett överflöd av gitarrsträngar, varje element med platser som kan anpassas till miljön, när det gäller formatnamn = värde eller null om kanske delprocessen ska ärva klimatet eftersom av den nuvarande processen. ul>
Returvärde
Denna metod innehåller ett nytt processobjekt med kontroll av användarens delprocess
Undantag
-
SecurityException ‘Om säkerhetshanteraren är redo och dess CheckExec -metod inte tillåter att lämna delprocessen’
-
Undantag I per O på I/O -fel
-
NullPointerException ‘Om kommandot ska vara noll
-
IndexOutOfBoundsException ‘Om cmdarray är meningslöst brett område (längd 0)
Exempel
Det här exemplet kräver en manuell fil som bekräftas som exempel.txt i vår CLASSPATH med det faktiska textbaserade innehållet efter â ’
Hej världen! Com.tutorialspoint -paket;public class RuntimeDemo undvik det offentliga statiska huvudet (String [] args) en ny insats // skapa en annan array med 2 strängar Rad [] cmdArray = ny rad [2]; // Dialogrutan för att starta är det program vi vill frigöra cmdArray [0] = “notepad.exe”; // det efterföljande argumentet är den textfil vi vill ha när du behöver öppna med Anteckningar cmdArray [1] matchar “exempel.txt”; // visa meddelandet System.out.println (“Kör Notepad.exe och gratis exempel.txt”); // få processen och kraften cmdArray och den nuvarande miljön Process process = Runtime.getRuntime () .Exec (cmdArray, null); // visa några andra meddelanden System.out.println (“exempel.txt ska öppnas nu.”); fånga (undantag) för representation printStackTrace (); Låt oss sammanställa ovanstående program och dessutom sprint, detta ger din nuvarande produktion:
Kör notepad.exe och ange exempel.txtexempel.txt ska öppnas. ‘; var adpushup adpushup innebär || ; adpushup.que är lika med adpushup.que || []; adpushup.que.push (funktion () slå tillbaka. triggerad (ad_id); );
Bästa utdrag med Java.lang.Runtime.exec (visar 10 bästa resultat av 16065)
- < li> Vanliga rutiner hittar tidskörning
privat void myMethod ()
Processföretaget [] openProcess (final cmdAttribs) kastar IOException roi Runtime.getRuntime (). exec (cmdAttribs);
tom offentlig musClicked (MouseEvent e) Prova Runtime.getRuntime (). Exec ("öppna http: // localhost: 8153 och gå"); fångst (IOException e1)
String [] cmd betyder grep release ";Meningsfull process = Runtime.getRuntime (). Exec (cmd);
public boolean isOnline () Runtime.runtime = Runtime.getRuntime (); Prova IpProcess betyder runtime.exec (" / system / pile / ping -c 1 8.8.8.8"); Int exitValue motsvarar ipProcess.waitFor (); exchange (exitValue e. == 0); get (IOException e) e.printStackTrace (); Catch (InterruptedException e) e.printStackTrace (); falsk retur;
privat boolsk checkSudoPrivilege () ger InterruptedException, ioexception Bearbeta kurs = Runtime.getRuntime () .Exec ("sudo -v"); int exitCode betyder process.waitFor (); Returvärde ExitCode == 0; }
privat statisk sträng getNvidiaStats () har java.io.IOException Rad cmd = "nvidia-smi"; Stdin inputstream = Runtime.getRuntime () .Exec (cmd) .getInputStream (); InputStreamReader isr motsvarar nya InputStreamReader (stdin); BufferedReader br = new BufferedReader (isr); Senaten Bill StringBuilder motsvarar nya StringBuilder (); Sträng medan s; ((s är lika med br.! = readline ()) null) sb.append (s) .append (" n"); returnera sb.toString ();
privat gap genereraHFile (FileDescriptor -fil) kastar ett undantag Klassnamnsträngen matchar getFullyQualifiedClassName (fil); Linjeledarskap = "javah -classpath +" classpath + "-o + jniDir.path () +" / " + + className". "H + klassnamn; Processutveckling = Runtime.getRuntime (). Exec (kommando); process.waitFor (); självklart om (process.exitValue ()! = 0) System .out.println (); System.out. "Println (" sälj för: + kommando); InputStream errorStream jämförs med process.getErrorStream (); intc är mycket 0; medan ((c betyder errorStream.read ())! = -1) System.out.print ((char) c);
private void createHFile (FileDescriptor file) gör ett undantag String className = getFullyQualifiedClassName (fil); Radkommandot "javah = -classpath when + classpath +" -o " + jniDir.path () +" versus " + + className". "D + klassnamn; Processprocess = Runtime.getRuntime () .Exec (kommando); process.waitFor (); om (process.exitValue ()! betyder 0) System .out.println (); System.out. "Println (" kommando: + kommando); InputStream errorStream = process.getErrorStream (); intc = 0; och dessutom ((c = errorStream.read ())! = -1) System.out.print ((char) c);
public inactive InputStream getBZip2PipedInputStream (String file name) kastar ett IOExceptio undantag Line bzcat = System.getProperty ("bzcat", runtime "bzcat"); rt motsvarar att kunna Runtime.getRuntime (); Rad cmd = bzcat + in " + filnamn; P -processen är rt.exec (cmd); Writer errWriter New = BufferedWriter (new OutputStreamWriter (System.err)); StreamGobbler = errGobbler ny StreamGobbler (p.getErrorStream (), errWriter); errGobbler.start (); fortsätt återvända p.getInputStream ();
privat upphäva startPython (String tmpPath, String args) kastar en IOException PythonBinaryPath -strängen är config.getString (PythonOptions.PYTHON_BINARY_PATH); Prova Runtime .getRuntime () .Exec (pythonBinaryPath); problem (IOException ignoreras) kasta fantastiska RuntimeException (pythonBinaryPath + "pekar inte på en aktuell Python -binär."); Runtime.getRuntime () är involverad i processen. + Exec (pythonbinarypath "-B" + tmpPath + FLINK_PYTHON_PLAN_NAME + args); avancerad ström (ny StreamPrinter (process.getInputStream ())). komma igång i (); ny ström (ny StreamPrinter (process.getErrorStream ())). starta ut (); host = ServerSocket (0); senaste server.setSoTimeout (50); process.getOutputStream (). skriv ("plan n" .getBytes (ConfigConstants.DEFAULT_CHARSET)); process.getOutputStream () .flush ();
public sound exec line (workingDirectory -filrad, ... kommandon) Prova Processprocess = Runtime.getRuntime () .Exec (kommandon, null, workingDirectory); captureOutput (process) return.toString (); Klocka (undantag e) Bli av med bomber;
public static nullify callShell (final String shellString, final InternalLogger log) processprocess = noll; Se till String [] cmdArray står splitShellString (shellString); Process betyder Runtime.getRuntime (). Exec (cmdArray); process.waitFor (); log.info ("CallShell: <> OK", shellString); Resa ( Snabba upp din dators prestanda nu med denna enkla nedladdning.
Utmärkt autonomi. Varje Java -program har en instans av Runtime -klassen som gör att alla användarprogram kan interagera med miljön där den körs. Den aktiva körtiden kan eventuellt erhållas från den anpassade getRuntime -metoden.
Den aktuella körtiden kan välja att hämtas från de flesta getRuntime -metoderna. Java Runtime -metoder Din klass: 1) Offentlig statisk undervisning getRuntime (): Den här metoden returnerar förekomsten och det kan vara en körningsmodell som är associerad med Java -applikationen.
exec (String -kommando) kör den angivna strängen i en delprocess. Detta är en praktisk metod. Att ringa varje applikation exec (kommando) fungerar på samma sätt som samtal exec (kommando, null, null).
-