exec

FBB::Exec(3bobcat)         Executing Child Processes        FBB::Exec(3bobcat)



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 parent’s standard
       streams are used by the child process. 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_5.00.02-x.dsc: detached signature;

       o      bobcat_5.00.02-x.tar.gz: source archive;

       o      bobcat_5.00.02-x_i386.changes: change log;

       o      libbobcat1_5.00.02-x_*.deb: debian package holding the
              libraries;

       o      libbobcat1-dev_5.00.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).

libbobcat-dev_5.00.02-x.tar.gz     2005-2019                FBB::Exec(3bobcat)