glib-sharp System.Object Process class. Methods for spawning child processes. Method System.Void Closes a process. Processes spawned with must use this method to ensure zombie processes are not stranded. Field System.Int32 2147483647 IgnorePipe field. Pass this value to to ignore a pipe parameter. Field System.Int32 0 RequestPipe field. Pass this value to to request a request a pipe descriptor be returned in the parameter. Method System.Boolean The directory in which to execute the process, or to use the current directory of the parent process. A string array containing the program name in the first element. An array of environment values in the form 'var=value', or . Process spawning configuration flags. A child process setup callback, or . Returns the child process. Spawns a child process asynchronously. A boolean value indicating spawning success. The method does not wait for the child process to complete before returning. This is a convenience method for the more detailed method. This method throws if an error occurs creating the process. ... try { GLib.Process proc; GLib.Process.SpawnAsync (null, new string[] {"echo", "[Async echo is running]"}, null, GLib.SpawnFlags.SearchPath, null, out proc); } catch (GException e) { Console.WriteLine ("Exception in Spawn operation: " + e); } ... Method System.Boolean The directory in which to execute the process, or to use the current directory of the parent process. A string array containing the program name in the first element. An array of environment values in the form 'var=value', or . Process spawning configuration flags. A child process setup callback, or . Returns the spawned process. Returns the stdin pipe descriptor if caller passes anything but . Returns the stdout pipe descriptor if caller passes anything but . Returns the stderr pipe descriptor if caller passes anything but . Spawns a child process and returns requested pipe descriptors. A boolean value indicating operation success. This method throws if an error occurs creating the process. using GLib; using System; public class SpawnTest { public static void Main (string[] args) { new SpawnTest (); } MainLoop main_loop; IOChannel channel; public SpawnTest () { main_loop = new MainLoop (); try { Process proc; int stdin = Process.IgnorePipe; int stdout = Process.RequestPipe; int stderr = Process.IgnorePipe; GLib.Process.SpawnAsyncWithPipes (null, new string[] {"pwd"}, null, SpawnFlags.SearchPath, null, out proc, ref stdin, ref stdout, ref stderr); channel = new IOChannel (stdout); channel.AddWatch (0, IOCondition.In | IOCondition.Hup, new IOFunc (ReadStdout)); } catch (Exception e) { Console.WriteLine ("Exception in Spawn: " + e); } main_loop.Run (); } bool ReadStdout (IOChannel source, IOCondition condition) { if ((condition & IOCondition.In) == IOCondition.In) { string txt; if (source.ReadToEnd (out txt) == IOStatus.Normal) Console.WriteLine ("[SpawnTest output] " + txt); } if ((condition & IOCondition.Hup) == IOCondition.Hup) { source.Dispose (); main_loop.Quit (); return true; } return true; } } Method System.Boolean The command line with arguments. Spawns a child process asynchronously. A boolean value indicating spawning success. This method does not wait for the child process to complete before returning. It is a convenience method for the more detailed method. ... try { GLib.Process.SpawnCommandLineAsync ("echo \"[Async echo process running]\""); } catch (GException e) { Console.WriteLine ("Exception in Spawn operation: " + e); } ... Method System.Boolean The command line with arguments. Returns the stdout output of the child process as a string. Returns the stderr output of the child process as a string. Returns the exit code returned by the process. Spawns a child process synchronously. A boolean value indicating spawning success. The method waits for the child process to complete prior to returning. This is a convenience method for the more detailed method. ... try { string stdout, stderr; int exit_status; GLib.Process.SpawnCommandLineSync ("pwd", out stdout, out stderr, out exit_status); Console.Write ("pwd exit_status=" + exit_status + " output: " + stdout); } catch (GException e) { Console.WriteLine ("Exception in Spawn operation: " + e); } ... Method System.Boolean The directory in which to execute the process, or to use the current directory of the parent process. A string array containing the program name in the first element. An array of environment values in the form 'var=value', or . Process spawning configuration flags. A child process setup callback, or . Returns the stdout output of the child process as a string. Returns the stderr output of the child process as a string. Returns the exit code of the child process. Spawns a child process synchronously. A boolean value indicating spawning success. The method waits for the child process to complete prior to returning. ... try { string stdout, stderr; int exit_status; GLib.Process.SpawnSync ("/usr", new string[] {"pwd"}, null, GLib.SpawnFlags.SearchPath, null, out stdout, out stderr, out exit_status); Console.Write ("pwd exit_status=" + exit_status + " output: " + stdout); } catch (GException e) { Console.WriteLine ("Exception in Spawn operation: " + e); } ...