bionic (3) exec.3bobcat.gz

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

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

AUTHOR

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