Monday 29 May 2017

Windowstyle Processstartinfo Waitforexit


Elina: obrigado pela sua resposta. Existem algumas notas na parte inferior deste MSDN doc (msdn. microsoften-uslibraryhellip) que alertam sobre potenciais bloqueios se você ler ao final de ambos os fluxos stdout e stderr redirecionados de forma síncrona. É difícil dizer se sua solução é suscetível a esse problema. Além disso, parece que você está enviando o process39 stdoutstderr output novamente na entrada. Por quê. ) Ndash Matthew Piatt 26 de setembro 16 às 4:42 Esta é uma solução mais moderna, Tarefa paralela (TPL), baseada em solução para 4.5 e acima. Exemplo de uso Implementação respondida 5 de outubro 16 às 10:54 Eu acho que isso é uma abordagem simples e melhor (não precisamos de AutoResetEvent): respondido 14 de junho 12 às 14:29 Verdadeiro, mas não deveria estar fazendo. FileName Path quotggsci. exequot quot lt Obeycommand. txtquot para simplificar também o seu código ou talvez algo equivalente ao quotggsci. exequot do quot quotgbsci. exequot se você realmente não quiser usar um arquivo obeycommand. txt separado. Ndash Amit Naidu Jun 4 13 em 22:03 Sua solução não precisa de AutoResetEvent, mas você pesquisa. Quando você faz uma pesquisa em vez de usar o evento (quando está disponível), você está usando a CPU sem motivo e isso indica que você é um programador ruim. Sua solução é realmente ruim quando comparada com a outra usando AutoResetEvent. (Mas não te dou -1 porque voce tentou ajudar). Ndash Eric Ouellet 7 de novembro 14 às 18:38 Eu estava tendo o mesmo problema, mas a razão era diferente. No entanto, isso aconteceria no Windows 8, mas não no Windows 7. A seguinte linha parece ter causado o problema. A solução era NÃO desativar UseShellExecute. Agora recebi uma janela popup Shell, que é indesejável, mas muito melhor do que o programa esperando que nada de particular aconteça. Então eu adicionei o seguinte trabalho para isso: Agora, o único problema que me incomoda é o porquê isso está acontecendo no Windows 8, em primeiro lugar. Respondeu 13 de janeiro 15 às 10:35 Eu tentei fazer uma aula que resolva seu problema usando a leitura de fluxo assíncrono, levando em conta Mark Byers, Rob, Stevejay responde. Ao fazê-lo, percebi que existe um bug relacionado à leitura de fluxo de saída de processo assíncrono. Você não pode fazer isso: você receberá System. InvalidOperationException. StandardOut não foi redirecionado ou o processo ainda não começou. Então, você deve iniciar a saída assíncrona lida após o processo ser iniciado: fazendo isso, faça uma condição de corrida porque o fluxo de saída pode receber dados antes de configurá-lo como assíncrono: então algumas pessoas podem dizer que você só precisa ler o fluxo antes de você Configurá-lo como assíncrono. Mas o mesmo problema ocorre. Haverá uma condição de corrida entre a leitura síncrona e configurará o fluxo em modo assíncrono. Não há como obter uma leitura assíncrona segura de um fluxo de saída de um processo da maneira atual Process e ProcessStartInfo foi projetado. Você provavelmente está melhor usando a leitura assíncrona, como sugerido por outros usuários para o seu caso. Mas você deve estar ciente de que você pode perder algumas informações devido à condição de corrida. Eu procurei tópicos diferentes sobre isso, mas todos eles usam o Process. RedirectStandardOutput True, o que eu não. Estou tentando abrir um processo (aplicativo de console, não feito por mim) para compilar um arquivo. acs especial para um arquivo. o. A estrutura é simples, o único argumento é o arquivo que deseja compilar. Mas em determinados arquivos meu aplicativo trava ao tentar abrir o processo. Heres meu código: para iniciar o processo eu uso praticamente o mesmo código que outro cara fez em C. E seu código está funcionando perfeitamente. Espero que seu dia tenha sido melhor do que ontem, mas isso é pior do que amanhã. Marque como resposta se resolvi seu problema. ) Editado por Visual Vincent Sábado, 03 de janeiro de 2015 2:57 PM Você já comparou FileNames e Argumentos dos que trabalham e aqueles que não existem diferenças neles, como as que funcionam não possuem espaços em branco no FileName Ou argumentos e os que funcionam não contêm espaços em branco neles Se você achar que esse é o problema, então você precisa adicionar Cotações para o início e o fim do FileName ou Argumentos. Meu primeiro palpite é que os Argumentos precisam das Cotações assim porque, eu vejo espaços em branco no seu exemplo dos Argumentos. Ps. Argumentos Chr (34) amp SavePath amp Chr (34) Se você diz que não pode ser feito, então tente isso Editado por IronRazerz Sábado, 03 de janeiro de 2015 3:51 PM Marcado como resposta por Visual Vincent Sábado, 03 de janeiro de 2015 4:33 PM Sábado, 03 de janeiro de 2015 3:41 PM Todas as respostas Você comparou FileNames e Argumentos de quem trabalha e aqueles que não existem diferenças neles, como as que funcionam, não possuem espaços em branco na FileName ou argumentos e aqueles que funcionam não contêm espaços em branco neles Se você achar que esse é o problema, então você precisa adicionar Quotes para o início e o fim do FileName ou Argumentos. Meu primeiro palpite é que os Argumentos precisam das Cotações assim porque, eu vejo espaços em branco no seu exemplo dos Argumentos. Ps. Argumentos Chr (34) amp SavePath amp Chr (34) Se você diz que não pode ser feito, então tente isso Editado por IronRazerz Sábado, 03 de janeiro de 2015 3:51 PM Marcado como resposta por Visual Vincent Sábado, 03 de janeiro de 2015 4:33 PM Sábado, 03 de janeiro de 2015 3:41 PM Você já tentou o mesmo comando manualmente em uma janela de console Talvez ele pare e aguarde algo. Ou não configure CreateNoWindow. ErrorDialog e WIndowStyle e veja o que acontece. Editado por Viorel MVP Sábado, 03 de janeiro de 2015 4:27 PM Sábado, 03 de janeiro de 2015 4:25 PM Você comparou FileNames e Argumentos dos que trabalham e aqueles que não existem diferenças neles, como as que O trabalho não contém espaços em branco no FileName ou argumentos e os que funcionam não contêm espaços em branco neles Se você achar que esse é o problema, então você precisa adicionar Quotes para o início e o fim do FileName ou Argumentos. Meu primeiro palpite é que os Argumentos precisam das Cotações assim porque, eu vejo espaços em branco no seu exemplo dos Argumentos. Ps. Argumentos Chr (34) amp SavePath amp Chr (34) Se você diz que não pode ser feito, então tentei isso. Isso realmente o fez. Eu tinha esquecido que os espaços em branco tornam um novo argumento, meu bobo. Não uso argumentos de processo que muitas vezes. ) Espero que seu dia tenha sido melhor do que ontem, mas isso é pior do que amanhã. Marque como resposta se resolvi seu problema. ) Editado por Visual Vincent sábado, 03 de janeiro de 2015 4:33 PM

No comments:

Post a Comment