Thursday 21 September 2017

Beginoutputreadline Waitforexit C #


Elina: Grazie per la risposta. Ci sono alcune note in fondo questo documento MSDN (msdn. microsoften-uslibraryhellip) che mettere in guardia sui potenziali deadlock se si legge alla fine di entrambi stdout e stderr ruscelli sincrono. It39s difficile dire se la soluzione è suscettibile di questo problema. Inoltre, sembra che si sta inviando l'uscita stdoutstderr processo39 terzino destro come input. Perché. ) Ndash Matthew Piatt 26 settembre 16 a 4:42 Questa è una awaitable più moderno, Task Parallel Library (TPL) soluzione basata per 4.5 e superiori. Esempio di utilizzo Attuazione risposto 5 16 ottobre alle 10:54 ho cosa che questo è semplice e l'approccio migliore (Non abbiamo bisogno AutoResetEvent): risposto 14 Giugno 12 in 14:29 Vero, ma shouldn39t essere fai. FileName Percorso quotggsci. exequot quot lt obeycommand. txtquot per semplificare il codice troppo O forse qualcosa di equivalente a quotecho comando quot Percorso quotggsci. exequot se davvero don39t desidera utilizzare un file obeycommand. txt separato. ndash Amit Naidu 4 giugno 13 alle 22:03 La soluzione non ha bisogno AutoResetEvent ma sondaggio. Quando si esegue sondaggio invece di utilizzare evento (quando sono disponibili), quindi si utilizza CPU senza motivo e che indica che sei un programmatore male. La soluzione è davvero male se confrontato con l'altro utilizzando AutoResetEvent. (Ma io non do -1 perché si è tentato di aiutare). ndash Eric Ouellet 7 novembre 14 a 18:38 mi stava avendo lo stesso problema, ma il motivo era diverso. Sarebbe tuttavia accadere in Windows 8, ma non sotto Windows 7. La seguente riga sembra aver causato il problema. La soluzione era quella di non disabilitare UseShellExecute. Ho ricevuto ora una finestra di popup Shell, che è indesiderato, ma molto meglio rispetto al programma in attesa di nulla di particolare per accadere. Così ho aggiunto il seguente work-around per questo: Ora l'unica cosa che mi dà fastidio è il motivo per cui questo accade in Windows 8, in primo luogo. risposto 13 Gennaio 15 alla 10:35 Ho provato a fare una classe che avrebbe risolto il problema utilizzando asincrono flusso di lettura, prendendo in considerazione Mark Byers, Rob, risposte stevejay. In questo modo mi sono reso conto che c'è un bug relativo al processo asincrono flusso di output di lettura. Non puoi farlo: Riceverete System. InvalidOperationException. StandardOut non è stato reindirizzato o il hasnt processo avviato ancora. Poi si deve avviare l'uscita asincrono leggere dopo il processo è iniziato: In questo modo, fare una condizione di competizione, perché il flusso di uscita in grado di ricevere i dati prima di impostare a asincrona: Poi alcune persone potrebbero dire che basta leggere il flusso prima di impostarlo asincrona. Ma lo stesso problema si verifica. Ci sarà una condizione di competizione tra il sincrono letto e impostato il flusso in modalità asincrona. Non vi è alcun modo per acheive sicura lettura asincrono di un flusso di output di un processo nel processo reale strada e ProcessStartInfo è stato progettato. Probabilmente si sta meglio utilizzando lettura asincrono come suggerito da altri utenti per il vostro caso. Ma si deve essere consapevoli che si potrebbe perdere un po 'di informazioni a causa di correre login condition. Im alla macchina Linux remota con l'aiuto di stucco. ProcessStartInfo pinfo nuova ProcessStartInfo () pInfo. Arguments quot-ssh prateek10.202.167.34 - pw passwordquot pInfo. FileName quotC: UsersprateekDesktopPUTTY. EXEquot processo p nuovo processo () p. StartInfo pinfo Dopo questo inizio sessione di stucco, poi ho bisogno di effettuare il login come superUser (webAdmin) e dare la password. Come posso fornire o cambiare sia username e password nel pInfo. Arguments dopo il login come Prateek (nome utente). Lunedi, mese di ottobre 01, 2012 01:18 Ciao, è necessario utilizzare il StandardInput e StandardOutput flussi per leggere e scrivere i contenuti per il processo: Spero che questo aiuti, proposto come risposta da Jason Dot Wang Microsoft personale contingente Mercoledì 3 ottobre 2012 05:55 Contrassegnato come risposta da Jason Dot Wang Microsoft personale contingente Mercoledì, 10 Ottobre 2012 02:44 Lunedi, mese di ottobre 01, 2012 01:25 Ciao, come un esempio su come interagire con inputoutputerror nelle applicazioni console è possibile utilizzare il seguente codice: Spero che questo ti aiuta e se si continua ad avere dubbi me lo faccia sapere. Contrassegnato come risposta da PrateekThakur Mercoledì 3 ottobre 2012 05:25 Martedì 2 Ottobre 2012 12:52 Tutte le risposte Ciao, è necessario utilizzare il StandardInput e StandardOutput stream per leggere e scrivere i contenuti per il processo: Spero che questo aiuti , proposte come risposta da Jason Dot Wang Microsoft personale contingente Mercoledì, 3 ottobre 2012 05:55 Contrassegnato come risposta da Jason Dot Wang Microsoft personale contingente Mercoledì 10 Ottobre 2012 02:44 Lunedi, mese di ottobre 01, 2012 01:25 PM Un problema è che, quando do la password in linea separata, che non lo accetta, è ancora spingendo per la password in consolle. Processo p nuovo processo () p. StartInfo pinfo p. StartInfo. UseShellExecute falso p. StartInfo. RedirectStandardInput vero StreamWriter myStreamWriter p. StandardInput myStreamWriter. WriteLine (quotsudo su - webadminquot) myStreamWriter. WriteLine (quotpasswordquot) In che modo possiamo fornire la password con StandardIn Grazie per il vostro aiuto. Lunedi, mese di ottobre 01, 2012 02:20 Ciao, prima si può leggere il StandardOutput per ottenere il testo quotPassword: quot, allora noto che l'applicazione è pronta per leggere la password. Dopo di che utilizzare il StandardInput per scrivere la password. Lunedi, mese di ottobre 01, 2012 14:27 Il problema è quando ho impostato RedirectStandardOutput true, doesnt eseguire il processo fino alla fine, ma in mezzo, come ad esempio: pInfo. Arguments quot-ssh prateek10.202.104.20 - pw passwordquot pinfo. FileName quotC: UsersprateekDesktopPLINK. EXEquot processo p nuovo processo () p. StartInfo pinfo p. StartInfo. UseShellExecute falso p. StartInfo. RedirectStandardInput vero p. StandardInput. WriteLine (quotsudo su - webadminquot) Ma quando RedirectStandardOutput al vero, cioè pInfo. Arguments quot-ssh prateek10.202.104.20 - pw passwordquot pInfo. FileName quotC: UsersprateekDesktopPLINK. EXEquot processo p nuovo processo () p. StartInfo pinfo p. StartInfo. UseShellExecute falso p. StartInfo. RedirectStandardInput vero p. StandardInput. WriteLine (quotsudo su - webadminquot) Ecco fatto attendere per un tempo indefinito. Così, come posso ottenere quotPassword: testo quot, quando questo processo è arrestare in mezzo per quantità di tempo indefinito

No comments:

Post a Comment