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 essa questão. 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. Diagnóstico. Processo :: Iniciar (StartInfo). Teste de EsperaExemplo. Process :: Start (StartInfo).WaitForExit Olá, Usando um script Vista Home x64 powershell. Deseja iniciar um programa em um loop e aguardar a saída, tem muitos parâmetros, com argumentos de comprimento variável. O programa que estou tentando iniciar é: hlds. exe - console - insecure - game svencoop4 - port 27025 - noxx - numedicts 4096 log in maxplayers 12 map osprey 1. Isso funciona na linha de comando powershell. Hlds. exe - console - insecure - game svencoop4 - port 27025 - noxx - numedicts 4096 log no maxplayers 12 map osprey Em um script com um loop é como um comic da Disney O aprendiz de feiticeiros. 2. Isso deve causar espera antes..hlds. exe - console - insecure - game svencoop4 - port 27025 - noipx - numedicts 4096 log no maxplayers 12 map osprey out-null O hlds - console abre, mas hlds. exe trava e falha ao inicializar. 3. Reduza os argumentos para baixo, parece ter problemas com os vários argumentos interceptados como operadores unários. Ele imprime um warningerror e ignora o argumento hlds - console e waitforexit then loops. StartInfo new-object System. Diagnostics. ProcessStartInfo StartInfo. FileName hlds. exe StartInfo. Argumentsquot-console map c1a1 - game svencoop4quot StartInfo. LoadUserProfile false StartInfo. UseShellExecute false StartInfo. WorkingDirectory (get-location).Path proc System. Diagnostics. Process: : Iniciar (StartInfo).WaitForExit ()
A negociação com o SureFireThing Camarilla Equation Trading com a equação SureFireThing Camarilla é discricionária - embora a principal filosofia do sistema pareça mecânica, é necessária uma quantidade razoável de experiência e conhecimento para negociar bem a equação. Basicamente, você dá aos ontem da Equação aberto, alto, baixo e próximo. A Equação da Camarilla irá dar-lhe 8 níveis de suporte intradiário e resistência. Existem 4 desses níveis de L acima de cerca de ontem e 4 abaixo. Abaixo do fechamento estão numeradas L1, L2, L3 e L4, e acima do fechamento H1, H2, H3 e H4. Os níveis importantes a serem observados são os níveis de H3 e L3, pontos em que as reversões significativas são prováveis, e os níveis de H4 e L4 que são onde os breakouts tendem a começar. A forma como você especifica um comércio depende, até certo ponto, do mercado aberto. Mercado aberto ENTRE H3 e L3 Se o mercado abrir entre os níveis H3 e L3, você deve aguardar o preço para se aproximar de qualquer um desses
Comments
Post a Comment