Sto cercando di capire come estrarre lo stdout e lo stderr da un sottoprocesso di sistema in Erlang. (Da non confondere con un processo di Erlang.) Il gotcha è che sto provando a tirare l'output dei flussi in modo indipendente.In Erlang, come posso acquisire in modo indipendente lo stdout e lo stderr di un sottoprocesso?
open_port/2 sembra ottenere la maggior parte del modo lì, tuttavia non sembra fornire un modo per differenziare tra i due flussi. C'è l'opzione stderr_to_stdout, ma non è quello che voglio; Voglio ottenere dati da entrambi i flussi di dati ma essere in grado di distinguere i due flussi.
Qualche suggerimento? Grazie.
Aggiornamento: Sono idealmente alla ricerca di una soluzione che funzioni sia su Windows che su Linux.
Hmm ... Questo sembra essere molto promettente. Una parte che non ho menzionato nella mia domanda è che sto cercando una soluzione che funzioni sia su Windows che su Linux; erlexec non sembra "supportare" Windows. Ci proverò ancora e vedrò se funziona nonostante non sia supportato. – Vultaire
... e la risposta è "no". Il supporto dovrebbe essere aggiunto. Quale può essere la risposta; sperando che ci sia un'alternativa più semplice ... – Vultaire
In base alla mancanza di risposta da parte degli altri, considereremo una soluzione compatibile con Windows come una possibile lacuna. Mettendo da parte Windows, erlexec sembra la soluzione giusta in generale, quindi accetterò come risposta. – Vultaire