//! rcsid="$Id: exChild.cc,v 1.1.1.1 2001/03/19 09:03:14 ees1cg Exp $" #include "Ravl/Option.hh" #include "Ravl/OS/ChildOSProcess.hh" #include using namespace RavlN; int main(int nargs,char *args[]) { OptionC option(nargs,args,TRUE); StringC cmd = option.CharArr("c","ls","command to run"); bool stop = option.Boolean("s",false,"Cause segmentation fault."); bool hang = option.Boolean("h",false,"Hang in an infinit loop."); RealT tlim = option.Real("t",-1,"Limit on waiting time. "); option.Check(); while(hang) ; if(stop) assert(0); ChildProcessC cproc(cmd); if(!cproc.Wait(tlim)) cproc.Terminate(); cerr << "Done. Running:" << cproc.IsRunning() << " Ok:" << cproc.ExitedOk() << " Code:" << cproc.ExitCode() << "\n"; return 0; }