Il mio programma Java utilizza ProcessBuilder (con il set redirectErrorStream true) e ha un ciclo che esegue il metodo di lettura di inputstream dei processi, che sta bloccando. Il programma esterno che sto chiamando si ferma quindi in attesa di input e stdin. Ora voglio uccidere il processo. Questo non viene fatto da (in un thread separato) chiamando il metodo destroy del processo e chiamando il metodo close di inputstream per impedire il blocco del metodo read, in modo che il thread iniziale possa terminare la sua vita?perché il blocco inputstream.close() di java?
Per alcuni motivi process.getInputStream().close()
blocchi. Dal JavaDoc non vedo perché questo possa accadere. Inoltre, non capisco perché javadoc dice "Il metodo close di InputStream non fa nulla". (link to javadoc) Qualcuno potrebbe spiegarlo?
Grazie :-)
Sei sicuro che ciò non accada a causa del programma esterno in esecuzione? – Geo