Process. waitforexit não funciona
Obter através da App Store Leia esta publicação em nosso aplicativo!
System. Diagnostics. Process WaitForExit não mata o processo no tempo limite.
Executo 7-zip a partir do meu código c #:
Agora, o que eu vejo acontecer é que, quando o tempo limite atinge, ainda existe o processo 7-zip no Gerenciador de Tarefas. Por que isso está acontecendo? Coloco ambos perto e descarte.
Sua pergunta menciona três métodos na classe Process:
Nenhum desses métodos irá fazer qualquer coisa para o processo, certamente não matá-lo.
WaitForExit é um método de observação, aguardará e verá se o processo termina sozinho. A sobrecarga com o tempo limite retornará um bool dizendo se o método observou que o processo foi encerrado ou não. Se não, provavelmente ainda está funcionando.
Fechar e Dispose não faz nada para ou para o processo que está executando, ele simplesmente fecha o identificador que você possui internamente na classe Process, que é o mecanismo para como essa classe pode manter as guias do processo em questão.
É uma boa idéia fechar esse identificador quando terminar de observar o processo de execução.
Process. waitforexit não funciona
Obter através da App Store Leia esta publicação em nosso aplicativo!
Por que WaitForExit () doesn & # 39; t wait?
Estou adicionando ação personalizada no meu projeto de instalação VS2008 (instalador MSI).
Estou chamando um arquivo em lotes para criar banco de dados e quero excluir esses arquivos depois. Eu tenho WaitForExit (), mas não vai esperar. Por quê?
nenhuma diferença com startInfo. UseShellExecute = true; O lote foi executado sem nenhum problema porque requer entrada do usuário e eu insiro y e n para perguntas. mas essa ação de exclusão ocorreu antes da minha entrada. E eu tenho uma pausa no final do arquivo em lotes. Posso assistir o processo do arquivo em lote.
EDIT: Eu testei mais de 10 vezes, não funcionou. Após o almoço, coloquei mais um waitForExit e um loop while com o cheque HasExited. ele vai dormir dentro do loop while. Eu achei que funcionou. Então eu exclui esses códigos extras, de volta a um WaitForExit. Parece que funciona agora.
Process. waitforexit não funciona
Obter através da App Store Leia esta publicação em nosso aplicativo!
Processo waitForExit () doesn & # 39; t trabalho.
Eu tenho o seguinte código:
Gostaria que a janela não fechasse depois de extrair arquivos (o unRAR. exe os extrai). WaitForExit (9000) parece não funcionar. Eu leio dezenas de sites e ainda não consigo encontrar nenhuma solução.
msdn. microsoft/en-us/library/fb4aw7b8.aspx lendo este artigo diz que o WaitForExit () não mantém o programa vivo, apenas espera que o programa associado saia. Se o programa associado (unzip. exe aqui) sair, você não poderá parar o programa unzip. exe de sair.
Process. WaitForExit faz o seu aplicativo aguardar o outro processo para sair. Não teve nenhum impacto no processo iniciado em si.
Tente criar o arquivo bat e insira o comando para aguardar (usando o limite de tempo do comando ou outra solução do thread Sleeping in a batch file.
Process. waitforexit não funciona
Eu uso System. Diagnostics. Process. Start () para executar o arquivo e use. WaitForExit () para aguardar a conclusão do processo.
Eu então uso File. Delete (filename) para excluir o arquivo executável.
Isso me leva a acreditar que, de alguma forma, o processo ainda está vivo e bloqueando o arquivo executável mesmo depois que a chamada. WaitForExit () retorna.
Qualquer idéia de por que isso acontece, e se houver alguma correção para isso (além de colocar dorme no código)?
Marcado como resposta por Samuel Stanojevic sexta-feira, 08 de janeiro de 2010 4:20 PM Editado por Tergiver sexta-feira, 8 de janeiro de 2010 4:20 PM mudou para bool, arranjo de loop infinito.
A Microsoft está conduzindo uma pesquisa on-line para entender sua opinião sobre o site da Msdn. Se você optar por participar, a pesquisa on-line será apresentada quando você deixar o site Msdn.
Obter através da App Store Leia esta publicação em nosso aplicativo!
Por que WaitForExit () doesn & # 39; t wait?
Estou adicionando ação personalizada no meu projeto de instalação VS2008 (instalador MSI).
Estou chamando um arquivo em lotes para criar banco de dados e quero excluir esses arquivos depois. Eu tenho WaitForExit (), mas não vai esperar. Por quê?
nenhuma diferença com startInfo. UseShellExecute = true; O lote foi executado sem nenhum problema porque requer entrada do usuário e eu insiro y e n para perguntas. mas essa ação de exclusão ocorreu antes da minha entrada. E eu tenho uma pausa no final do arquivo em lotes. Posso assistir o processo do arquivo em lote.
EDIT: Eu testei mais de 10 vezes, não funcionou. Após o almoço, coloquei mais um waitForExit e um loop while com o cheque HasExited. ele vai dormir dentro do loop while. Eu achei que funcionou. Então eu exclui esses códigos extras, de volta a um WaitForExit. Parece que funciona agora.
Process. waitforexit não funciona
Obter através da App Store Leia esta publicação em nosso aplicativo!
Processo waitForExit () doesn & # 39; t trabalho.
Eu tenho o seguinte código:
Gostaria que a janela não fechasse depois de extrair arquivos (o unRAR. exe os extrai). WaitForExit (9000) parece não funcionar. Eu leio dezenas de sites e ainda não consigo encontrar nenhuma solução.
msdn. microsoft/en-us/library/fb4aw7b8.aspx lendo este artigo diz que o WaitForExit () não mantém o programa vivo, apenas espera que o programa associado saia. Se o programa associado (unzip. exe aqui) sair, você não poderá parar o programa unzip. exe de sair.
Process. WaitForExit faz o seu aplicativo aguardar o outro processo para sair. Não teve nenhum impacto no processo iniciado em si.
Tente criar o arquivo bat e insira o comando para aguardar (usando o limite de tempo do comando ou outra solução do thread Sleeping in a batch file.
Process. waitforexit não funciona
Eu uso System. Diagnostics. Process. Start () para executar o arquivo e use. WaitForExit () para aguardar a conclusão do processo.
Eu então uso File. Delete (filename) para excluir o arquivo executável.
Isso me leva a acreditar que, de alguma forma, o processo ainda está vivo e bloqueando o arquivo executável mesmo depois que a chamada. WaitForExit () retorna.
Qualquer idéia de por que isso acontece, e se houver alguma correção para isso (além de colocar dorme no código)?
Marcado como resposta por Samuel Stanojevic sexta-feira, 08 de janeiro de 2010 4:20 PM Editado por Tergiver sexta-feira, 8 de janeiro de 2010 4:20 PM mudou para bool, arranjo de loop infinito.
A Microsoft está conduzindo uma pesquisa on-line para entender sua opinião sobre o site da Msdn. Se você optar por participar, a pesquisa on-line será apresentada quando você deixar o site Msdn.
Eu uso System. Diagnostics. Process. Start () para executar o arquivo e use. WaitForExit () para aguardar a conclusão do processo.
Eu então uso File. Delete (filename) para excluir o arquivo executável.
Isso me leva a acreditar que, de alguma forma, o processo ainda está vivo e bloqueando o arquivo executável mesmo depois que a chamada. WaitForExit () retorna.
Qualquer idéia de por que isso acontece, e se houver alguma correção para isso (além de colocar dorme no código)?
Marcado como resposta por Samuel Stanojevic sexta-feira, 08 de janeiro de 2010 4:20 PM Editado por Tergiver sexta-feira, 8 de janeiro de 2010 4:20 PM mudou para bool, arranjo de loop infinito.
A Microsoft está conduzindo uma pesquisa on-line para entender sua opinião sobre o site da Msdn. Se você optar por participar, a pesquisa on-line será apresentada quando você deixar o site Msdn.
Comments
Post a Comment