diff --git a/src/system/helpers.cpp b/src/system/helpers.cpp index 0ebf7629e..8b0cb2320 100644 --- a/src/system/helpers.cpp +++ b/src/system/helpers.cpp @@ -568,6 +568,16 @@ bool exec_controlscript(std::string script) return ret; } +bool exec_initscript(std::string script, std::string command) +{ + dprintf(DEBUG_NORMAL, "executing service %s %s\n", script.c_str(), command.c_str()); + int ret = my_system(3, "service", script.c_str(), command.c_str()); + if (ret) + dprintf(DEBUG_NORMAL, "exec init script [%s] failed\n", script.c_str()); + + return ret; +} + std::string backtick(std::string command) { char *buf = NULL; diff --git a/src/system/helpers.h b/src/system/helpers.h index 7b0bb8213..006868679 100644 --- a/src/system/helpers.h +++ b/src/system/helpers.h @@ -61,6 +61,7 @@ int mySleep(int sec); std::string find_executable(const char *name); bool exec_controlscript(std::string script); +bool exec_initscript(std::string script, std::string command = "start"); /* basically what "foo=`command`" does in the shell */ std::string backtick(std::string command);