Create a process(3) and output streams to the calling program.

Other Alias

shevek::process, optionally connection its standard in

SYNOPSIS


#include <process.hh>

Inherits shevek::refbase.

Public Member Functions


Glib::RefPtr< shevek::fd > in ()
The standard input pipe, if it was requested.
Glib::RefPtr< shevek::fd > out ()
The standard output pipe, if it was requested.
Glib::RefPtr< shevek::fd > err ()
The standard error pipe, if it was requested.
pid_t pid ()
The process ID.
~process ()
The destructor. This kills the process if it was still running.

Static Public Member Functions


static Glib::RefPtr< process > create (std::string const &command, std::list< std::string > &argv, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process from a filename and an argument list.
static Glib::RefPtr< process > create (std::string const &command, std::list< std::string > &argv, std::list< std::string > const &envp, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process from a filename, an argument list and an environment.
static Glib::RefPtr< process > shell (std::string const &command, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true, std::string const &sh='/bin/sh')
Run a string with the shell.
static std::string run (std::string const &command, std::string const &sh)
Run a process and return its output.
static Glib::RefPtr< process > create (std::string const &command, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process without arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with one argument.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with two arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, std::string const &a3, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with three arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, std::string const &a3, std::string const &a4, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with four arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, std::string const &a3, std::string const &a4, std::string const &a5, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with five arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, std::string const &a3, std::string const &a4, std::string const &a5, std::string const &a6, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with six arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, std::string const &a3, std::string const &a4, std::string const &a5, std::string const &a6, std::string const &a7, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with seven arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, std::string const &a3, std::string const &a4, std::string const &a5, std::string const &a6, std::string const &a7, std::string const &a8, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with eight arguments.
static Glib::RefPtr< process > create (std::string const &command, std::string const &a1, std::string const &a2, std::string const &a3, std::string const &a4, std::string const &a5, std::string const &a6, std::string const &a7, std::string const &a8, std::string const &a9, bool pipe_stdin=true, bool pipe_stdout=true, bool pipe_stderr=true)
Create a process with nine arguments.

Additional Inherited Members

Detailed Description

Create a process, optionally connection its standard in- and output streams to the calling program.

Member Function Documentation

static std::string shevek::process::run (std::string const &command, std::string const &sh) [static]

Run a process and return its output. A convenience function for running a process and catching its standard output in a string. This blocks until the process has exited.

static Glib::RefPtr<process> shevek::process::shell (std::string const &command, boolpipe_stdin = true, boolpipe_stdout = true, boolpipe_stderr = true, std::string const &sh = '/bin/sh') [inline], [static]

Run a string with the shell. Note that the process is forked from the shell, and so does not get killed when the process goes away.

Author

Generated automatically by Doxygen for libshevek from the source code.