Further testing using mkisofs, leads me to believe that although output
is being redirected (where to, I don't know) but the program seems to
block at this line 

StreamReader sr = process.StandardOutput;

while process waits for output from mkisofs, I assume.

output from my test app is 

/usr/bin/mkisofs
8857
False
1


until mkisofs has completed, whereupon i get the following additional
output.


#=> 
2
#=> 




using System;
using System.Diagnostics;
using System.IO;

class MainClass
{
        public static void Main(string[] args)
        {
                ProcessStartInfo psi = new ProcessStartInfo("mkisofs");
                psi.Arguments = "-r -R -J -l -L
-o /home/tracy/cdimages/mandriva-dvd.iso /mnt/cdrom";
                psi.RedirectStandardInput = true;
                psi.RedirectStandardOutput = true;
                psi.RedirectStandardError = true;
                psi.UseShellExecute = false;
                
                
                Process process = Process.Start(psi);
                
                Console.WriteLine(process.ProcessName);
                Console.WriteLine(process.Id);
                Console.WriteLine(process.StartInfo.RedirectStandardOutput);
                
                bool retn = false;
                int i = 1;
                while (!retn)
                {
                        process.StartInfo.RedirectStandardInput = true;
                        process.StartInfo.RedirectStandardOutput = true;
                        process.StartInfo.RedirectStandardError = true;
                        retn = process.WaitForExit(1000);
                        Console.WriteLine(i.ToString());
                        StreamReader sr = process.StandardOutput;               
        
                        Console.WriteLine("#=> " + sr.ReadToEnd());

                        i++;
                }
        }
}
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to