2010-03-30 7 views
-1

J'ai utilisé Process.Start pour débuter et appeler 7zip pour archiver des choses Je l'ai également utilisé pour appeler ffmpeg afin de compresser des fichiers vidéo. C'était il y a un certain temps ... mais je me souviens qu'il y avait un problème au sujet du blocage du processus si vous ne lisiez pas la sortie/l'erreur standard. Je ne me souviens pas de tout. Est-ce que quelqu'un a de l'expérience en utilisant System.Diagnostics.Process dans le but d'initier un processus de longue durée et d'attendre qu'il se termine?Trucs/astuces/getchas pour l'utilisation de System.Diagnostics.Process et Process.Start

Merci

Répondre

1

Si vous ne réorientent pas la sortie, il ne devrait pas être une préoccupation.

0

Si vous redirigez comme je l'ai fait, utilisez ce qui suit pour éviter les blocages. Reportez-vous à la section relative à la procédure de traitement pour ProcessStartInfo.RedirectStandardOutput au http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput.aspx. Ma session la plus longue était de quarante minutes à scanner mon disque dur avec ExifTool.

 _process.Start() 

     Dim sXmlOutput As String = _process.StandardOutput.ReadToEnd 
     Dim sErrOutput As String = _process.StandardError.ReadToEnd 

     _process.WaitForExit() 
Questions connexes