31
Programmazione / intercettare lo standard output di un comando (quello che vedo nella console)?
« il: 11 Aprile 2018, 16:03:14 »
Non e' la prima volta che affrontiamo l'argomento, ma devo dire che ogni volta la soluzione 'e sempre un escamotage.
Quando lanciate un comando shell, di solito, ottenete lo standard output nella finestra "console" di gambas.
Ora la mia esigenza e' intercettare questo output e agire di conseguenza ....
Nello specifico il comando che lancio e':
con:
che non danno segni di vita (il processo lanciato nella shell gira in background ....)
notare che se invece il comando che lancio e':
la riproduzione del video (melt e' un player video) non parte proprio ...
PS: la cosa interessante e' che usando il comando:
questo comando guarda a partire dalla coda gli eventi del vostro sistema (quindi magari mettete e smontate chiavette per avere degli eventi ....)
il ritorno c'e l'ho .... e' come se melt uscisse su un'altra console ... e' possibile?
Quando lanciate un comando shell, di solito, ottenete lo standard output nella finestra "console" di gambas.
Ora la mia esigenza e' intercettare questo output e agire di conseguenza ....
Nello specifico il comando che lancio e':
Codice: [Seleziona]
Shell "melt -profile dv_pal -timings -consumer decklink:0 terminate_on_pause=1 \x22" & Path & "\x22" For Write As "Osserva"
con:
Codice: [Seleziona]
Public Sub Osserva_Read()
Dim sLine As String
Read #Last, sLine, -256
Debug sLine
End
Public Sub Osserva_Write()
Debug "-osserva-"
End
che non danno segni di vita (il processo lanciato nella shell gira in background ....)
notare che se invece il comando che lancio e':
Codice: [Seleziona]
Shell "melt -profile dv_pal -timings -consumer decklink:0 terminate_on_pause=1 \x22" & Path & "\x22" For Read As "Osserva"
la riproduzione del video (melt e' un player video) non parte proprio ...
PS: la cosa interessante e' che usando il comando:
Codice: [Seleziona]
dmesg -wH
il ritorno c'e l'ho .... e' come se melt uscisse su un'altra console ... e' possibile?