> What's wrong with firing off a System.Diagnostics.Process that executes 
> it, and reading the output from the "StandardOutput" stream on the 
> process? You say that Process "does not seem to function as expected"; 
> howso?
> 
> Regards,
> -= El =-

Try this,

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

class MainClass
{
        public static void Main(string[] args)
        {
                ProcessStartInfo psi = new ProcessStartInfo("wget");
                //
                //change the pths to one of your choosing
                //
                psi.Arguments = "-m -nd 
--directory-prefix=/home/tracy/Downloads/test
--input-file=/home/tracy/Downloads/test/wgetlist";

                psi.RedirectStandardInput = true;
                psi.RedirectStandardOutput = true;
                psi.RedirectStandardError = true;
                
                //place the following text in a file name wgetlist
                //ftp://[EMAIL 
PROTECTED]/disks/2/mandrake/devel/cooker/i586/media/main/cdrdao-1.2.0-2mdk.i586.rpm
                //
                
                psi.UseShellExecute = false;
                
                
                Process process = Process.Start(psi);
                
                Console.WriteLine("Process Name: " + process.ProcessName);
                Console.WriteLine("Process Id: " + process.Id);
                Console.WriteLine("Process RedirectOutput: " +
process.StartInfo.RedirectStandardOutput);
                
                        
                bool retn = false;
                int i = 1;
                while (!retn)
                {
                        
                        retn = process.WaitForExit(1000);
                        
                        Console.WriteLine("Application has exited: " + 
retn.ToString());
                        
                        StreamReader sr = process.StandardOutput;               
        
                        Console.WriteLine("Whatever was in standard Output: " +
sr.ReadToEnd());
                                
                        i++;
                }
        }
}


The test program reports that RedirectStandardOutput is False, even
though I set it to true, but as there is no output from wget displayed,
I assume that stdout has been redirected. But I don't get any output,
the test program block at the line 

StreamReader sr = process.StandardOutput;

Regards

Tracy Barlow
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to