shevek_process(3)

shevek_process3

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

Usage

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

Releases

2 releases since Debian 7 (Wheezy); the text changed 1 time.

  1. 7
  2. 8

Author

Generated automatically by Doxygen for libshevek from the source code.

From libshevek-doc 1.4-1 in Debian 8 (Jessie). Parsed by carta from the page's man source.