5 int execScript(std::string
const& script
, std::string
const& ifname
)
11 for (fd
=getdtablesize();fd
>=0;--fd
) // close all file descriptors
14 fd
= open("/dev/null",O_RDWR
); // stdin
16 cLog
.msg(Log::PRIO_WARNING
) << "can't open stdin";
18 if(dup(fd
) == -1) // stdout
19 cLog
.msg(Log::PRIO_WARNING
) << "can't open stdout";
20 if(dup(fd
) == -1) // stderr
21 cLog
.msg(Log::PRIO_WARNING
) << "can't open stderr";
23 return execl("/bin/sh", "/bin/sh", script
.c_str(), ifname
.c_str(), NULL
);
26 waitpid(pid
, &status
, 0);