Provided by: libbobcat-dev_4.08.02-2build1_amd64 bug

NAME

       FBB::Exec - Runs external programs

SYNOPSIS

       #include <bobcat/exec>
       Linking option: -lbobcat

DESCRIPTION

       The  FBB::Exec  class  offers  a  basic interface for calling external programs (so-called
       child processes). The standard streams of the child processes are not handled  by  ttExec)
       objects.  The  PATH  environment  variable is not used when calling child processes: child
       process programs must be specified using paths.

       Exec objects may repeatedly be used to execute the  same  or  different  child  processes.
       Before starting the next child process, the current child process must have finished.

       Arguments  passed  to  child  processes  may  be  surrounded  by  double or single quotes.
       Arguments surrounded by double quotes have their double quotes removed, while interpreting
       any escape-sequences that may have been used within. Arguments surrounded by single quotes
       have their single quotes removed,  while  accepting  their  contents  as-is.  In  addition
       unquoted  escape-sequences  may  be  specified:  those  escape sequences are evaluated and
       replaced by their intended characters (e.g., \100 is converted to @).

NAMESPACE

       FBB
       All constructors, members, operators and manipulators, mentioned  in  this  man-page,  are
       defined in the namespace FBB.

INHERITS FROM

       FBB::Fork

CONSTRUCTOR

       Only the default constructor is supported.

MEMBERS

       o      bool execute(std::string const &cmd):
              The argument specifies the command to execute: the command itself must be specified
              as a path (the PATH environment variable isn’t used). The member  returns  true  if
              the  child process’s exit value equals 0. Otherwise false is returned. Once execute
              has returned it can be called again, either using the same or another command.  The
              class  Exec  does  not  offer  facilities  to forcefully terminate child processes:
              parent processes are suspended until the child processes have completed.  Arguments
              passed  to  the  program to be executed as child process may optionall be specified
              using single or double quotes, as described in this man-page’s DESCRIPTION section.

       o      int ret() const:
              Once execute has returned this member provides the actual exit code  of  the  child
              process. Its value equals -1 before the first exectue call.

EXAMPLE

       #include <iostream>
       #include <bobcat/execfork>

       using namespace std;
       using namespace FBB;

       int main()
       {
           ExecFork ef;

           if (ef.execute("/bin/cp driver.cc /tmp"))
               cout << "driver.cc now copied to /tmp\n";
           else
               cout << "could not copy driver.cc to /tmp\n";

           cout << "Again:\n";

           if (ef.execute("/bin/cp driver.cc /tmp"))
               cout << "driver.cc now copied to /tmp\n";
           else
               cout << "could not copy driver.cc to /tmp\n";

       }

FILES

       bobcat/exec - provides the class interface

SEE ALSO

       bobcat(7), cerrextractor(3bobcat), cininserter(3bobcat), coutextractor(3bobcat), execl(3),
       fork(3bobcat), process(3bobcat), stdextractor(3bobcat).

BUGS

       None reported.

DISTRIBUTION FILES

       o      bobcat_4.08.02-x.dsc: detached signature;

       o      bobcat_4.08.02-x.tar.gz: source archive;

       o      bobcat_4.08.02-x_i386.changes: change log;

       o      libbobcat1_4.08.02-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_4.08.02-x_*.deb: debian package holding the libraries,  headers  and
              manual pages;

       o      http://sourceforge.net/projects/bobcat: public archive location;

BOBCAT

       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

COPYRIGHT

       This  is  free  software,  distributed  under  the terms of the GNU General Public License
       (GPL).

AUTHOR

       Frank B. Brokken (f.b.brokken@rug.nl).