Negli ultimi giorni, alcuni utenti hanno condiviso con noi di aver visto un esempio relativo al processo di runtime Java.
Approvato: Fortect
Descrizione
Approvato: Fortect
Fortect è lo strumento di riparazione PC più popolare ed efficace al mondo. Milioni di persone si affidano a milioni di persone per mantenere i loro sistemi in esecuzione veloci, fluidi e privi di errori. Grazie alla sua semplice interfaccia utente e al potente motore di scansione, Fortect trova e risolve rapidamente un'ampia gamma di problemi di Windows, dall'instabilità del sistema e problemi di sicurezza alla gestione della memoria e ai colli di bottiglia delle prestazioni.
Il metodo java.lang.Runtime.exec (String [] cmdarray, String [] envp) esegue il comando e i fattori specificati in un processo completamente separato con l’ambiente allocato. Questo è un metodo pratico. La chiamata alla forma esatta exec (cmdarray, envp) si comporta esattamente come la composizione telefonica envp, exec (cmdarray, null).
Spiegazione
Parametri
-
cmdarray â ‘Un’ampia varietà che contiene il comando per invocare i suoi argomenti.
-
envp â € ‘Un array di corde per basso, ogni elemento con impostazioni che possono adattarsi all’ambiente, nel formato word = valore o null se il sottoprocesso è diventato ereditare il clima del metodo corrente . ul>
Valore restituito
Questo metodo ospita un nuovo oggetto processo per controllare il sottoprocesso del visitatore
Eccezione
-
SecurityException ‘Se il gestore della sicurezza è disponibile e il metodo checkExec effettivo non consente di uscire dal sottoprocesso’
-
Eccezione I/O su errore I/O
-
NullPointerException ‘Se il comando deve essere null
-
IndexOutOfBoundsException ‘Se cmdarray è vuoto wide locale (lunghezza 0)
Esempio
Questa occasione richiede un file manuale denominato example.txt nel nostro CLASSPATH con il contenuto effettivo dopo â ‘
Ciao mondo! pacchetto Com.tutorialspoint;classe pubblica RuntimeDemo evitare il loro main statico pubblico (String [] args) uno sforzo // crea solo un altro array di 2 stringhe La riga [] cmdArray è uguale alla nuova riga [2];// La prima finestra di dialogo è il programma che vogliamo aprire con successo cmdArray [0] equivale a “notepad.exe”; // il secondo argomento è generalmente un file di testo che vogliamo aprire con Blocco note cmdArray [1] corrisponde a “esempio.txt”; // mostra questo messaggio System.out.println (“Esegui Notepad.exe e apri example.txt”); // proteggi il processo ed esegui cmdArray e l’ambiente Processo di processo = Runtime.getRuntime () .Exec (cmdArray, null); // mostra un altro messaggio System.out.println (“example.txt deve essere aperto ora.”); afferrare (eccezione) ad esempio printStackTrace (); Compiliamo il programma sopra e facciamo uno sprint, questo di solito dà il tuo output corrente:
Esegui notepad.exe e inserisci example.txtesempio.txt dovrebbe aprirsi. ‘; var adpushup adpushup = || ; adpushup.que = adpushup.que || []; adpushup.que.push (funzione () respingere. triggerad (ad_id); );
I migliori frammenti con Java.lang.Runtime.exec (che mostra i 10 migliori risultati su 16065)
- < li> Le routine comuni ottengono il tempo di esecuzione
most private void myMethod ()
Process chain [] openProcess (final cmdAttribs) genera IOException return Runtime.getRuntime(). professionale (cmdAttribs);
vacante public mouseClicked (MouseEvent e) Provare Runtime.getRuntime(). Exec ("apri http: // localhost: 8153 / vai"); vedere (IOException e1)
Stringa [] cmd = grep release ";Assorbimento significativo = Runtime.getRuntime (). Esecutivo (cmd);
public boolean isOnline () Runtime.runtime è uguale a Runtime.getRuntime (); Provare IpProcess può significare runtime.exec ("/ system / bin / ping -ke 1 8.8.8.8"); Int exitValue corrisponde quando è necessario ipProcess.waitFor (); return (exitValue sul. == 0); catch (IOException e) e.printStackTrace (); Cattura (InterruptedException e) e.printStackTrace (); ritorno inappropriato;
il controllo booleano privatoSudoPrivilege () genera InterruptedException, ioeccezione Processo di processo = Runtime.getRuntime () .Exec ("sudo -v"); int exitCode = process.waitFor (); Valore restituito CodiceEsci == 0; }
la stringa fissa privata getNvidiaStats () genera java.io.IOException La riga cmd equivale a "nvidia-smi"; Stdin inputstream = Runtime.getRuntime () .Exec (cmd) .getInputStream (); InputStreamReader isr = new InputStreamReader (stdin); BufferedReader br = nuovo BufferedReader (isr); Senato Bill StringBuilder = new StringBuilder (); Stringa mentre s; ((s significa br.! implica readline ()) null) sb.append (s) .append (" n"); return sb.toString ();
private void generateHFile (file FileDescriptor) elimina un'eccezione La stringa className contiene getFullyQualifiedClassName (file); Comando riga = "javah -classpath +" classpath + "-o + jniDir.path () +" per "+ + className". "H + nomeclasse; Sviluppo del processo = Runtime.getRuntime(). Esecutivo (comando); process.waitFor (); ovviamente if (process.exitValue()! implica 0) Sistema .out.println (); Uscita.sistema. "Stampaln (" comando: + comando); InputStream errorStream corrisponde a process.getErrorStream (); intc è 0; tuttavia ((c significa errorStream.read ())! = -1) System.out.print ((char) c);
univoco void generateHFile (file FileDescriptor) genera un'eccezione String className = getFullyQualifiedClassName (file); Il comando Internet "javah = -classpath on + classpath +" -o "+ jniDir.path () +" / "+ + className". "D + nomeclasse; Processo di processo uguale a Runtime.getRuntime() .Exec (comando); process.waitFor (); e se (process.exitValue()! = 0) Sistema .out.println (); Uscita.sistema. "Stampaln (" comando: + comando); InputStream errorStream = process.getErrorStream (); intc significa 0; while ((c = errorStream.read())! = -1) System.out.print ((char) c);
public inactive InputStream getBZip2PipedInputStream (String filename) organizza un'eccezione IOExceptio Riga bzcat = System.getProperty ("bzcat", runtime "bzcat"); rt corrisponde a Runtime.getRuntime (); Riga cmd = bzcat + pollici "+ nome file; Il processo P è rt.exec (cmd); Writer errWriter New = BufferedWriter (nuovo OutputStreamWriter (System.err)); StreamGobbler implica errGobbler new StreamGobbler (p.getErrorStream (), errWriter); errGobbler.start (); ricorda di restituire p.getInputStream ();
private void startPython (String tmpPath, String args) genera una IOException La stringa pythonBinaryPath spesso è config.getString (PythonOptions.PYTHON_BINARY_PATH); Provare Runtime .getRuntime() .Exec (pythonBinaryPath); catch (IOException ignorata) lanciare una nuova RuntimeException (pythonBinaryPath + "non punta al binario Python corrente."); Runtime.getRuntime() è coinvolto nel processo. + Exec (pythonbinarypath "-B" + tmpPath + FLINK_PYTHON_PLAN_NAME + args); nuova mossa (nuovo StreamPrinter (process.getInputStream ())). cominciare (); nuova mossa (nuovo StreamPrinter (process.getErrorStream ())). cominciare (); server di hosting = ServerSocket (0); nuovo server.setSoTimeout (50); process.getOutputStream(). write ("plan n" .getBytes (ConfigConstants.DEFAULT_CHARSET)); process.getOutputStream() .flush ();
area pubblica exec statica (riga file workingDirectory, ... comandi) Provare Process process = Runtime.getRuntime() .Exec (comandi, null, workingDirectory); catturaOutput (processo) return.toString (); Orologio (eccezione e) Sbarazzati delle bombe;
public inactive nullify callShell (final String shellString, final InternalLogger log) processo processo = zero; Assicurarsi String [] cmdArray significa splitShellString (shellString); Processo = Runtime.getRuntime(). Exec (cmdArray); process.waitFor (); log.info ("CallShell: <> OK", shellString); Viaggiare (
Ottima autonomia. Ogni applicazione Java ha un'istanza specifica di quella classe Runtime che consente all'applicazione utente di aiutarti a interagire con l'ambiente in cui verrà eseguita. Il runtime attivo può essere ottenuto dal metodo getRuntime personalizzato.
Il runtime corrente può essere ottenuto da alcuni dei metodi getRuntime. Metodi di runtime Java La tua classe: 1) GetRuntime di runtime statico pubblico (): questo metodo restituisce l'istanza o il modello di runtime che di solito è associato all'applicazione Java corrente.
exec (comando String) esegue tutta la stringa specificata in un processo separato. Questo potrebbe essere un metodo pratico. La chiamata all'applicazione professional (comando) si comporta come la chiamata a exec (comando, zero, null).
-