libshevek

- Main Page
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions
shevek::process Class Reference

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

`#include <process.hh>`

Inheritance diagram for shevek::process:

List of all members.

## 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.

## 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,
|  | bool | pipe_stdin = `true`,
|  | bool | pipe_stdout = `true`,
|  | bool | pipe_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.

The documentation for this class was generated from the following file:

- src/process.hh