|
libshevek
|
Create a process, optionally connection its standard in- and output streams to the calling program. More...
#include <process.hh>
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. | |
Create a process, optionally connection its standard in- and output streams to the calling program.
| 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.
1.7.6.1