source: libmono-lliurex-utils/trunk/libmono-lliurex-utils/Commands.cs @ 341

Last change on this file since 341 was 341, checked in by mabarracus, 5 years ago

ported pandora code

File size: 1.5 KB
Line 
1
2using System;
3using System.Diagnostics;
4
5namespace lliurex
6{
7
8namespace utils
9{
10       
11       
12        public class Commands
13        {
14                       
15               
16                /*
17                 * blocking static method that executes a binary and its given parameters
18                 */     
19                public static int run(String filename,String arguments)
20                        {
21                               
22                                Process p = new Process();
23                                p.StartInfo = new ProcessStartInfo(filename);
24                                p.StartInfo.Arguments = arguments;
25                                p.Start();
26                               
27                                while(!p.HasExited)
28                                {
29                                        System.Threading.Thread.Sleep(500);
30                                }
31                                       
32                                return p.ExitCode; 
33                               
34                        }
35                       
36                /*
37                 * blocking static method that executes a binary
38                 */     
39                public static int run(String filename)
40                        {
41                               
42                                Process p = new Process();
43                                p.StartInfo = new ProcessStartInfo(filename);
44                                p.Start();
45                               
46                                while(!p.HasExited)
47                                {
48                                        System.Threading.Thread.Sleep(500);
49                                }
50                                       
51                                return p.ExitCode; 
52                        }
53                       
54                       
55               
56                /*
57                 * blocking static method that executes a binary and its given parameters
58                 */     
59                public static int run(String filename,String arguments,out String stdout,out String stderr)
60                        {
61                                Process p = new Process();
62                                p.StartInfo = new ProcessStartInfo(filename);
63                                p.StartInfo.Arguments = arguments;
64                                p.StartInfo.UseShellExecute=false;
65                                p.StartInfo.RedirectStandardOutput = true;
66                                p.StartInfo.RedirectStandardError = true;
67                               
68                                p.Start();
69                               
70                                while(!p.HasExited)
71                                {
72                                        System.Threading.Thread.Sleep(500);
73                                }
74                               
75                                stdout = p.StandardOutput.ReadToEnd();
76                                stderr = p.StandardError.ReadToEnd();
77                               
78                                return p.ExitCode; 
79                        }
80                                             
81                       
82       
83        }
84}
85
86       
87}
Note: See TracBrowser for help on using the repository browser.