/* * launcher.c * * Created on: Sep 14, 2010 * Author: lamikr */ #include #include #include #include int launch_new_process(char *param_arr[]) { int ret_val; int child_pid; child_pid = fork(); if (child_pid == -1) { // failed to fork a new process ret_val = -1; } else if (child_pid == 0) { // code for launched child process //execvp(param_arr[0], param_arr); // first parameter must contain a full path to executable execv(param_arr[0], param_arr); log_error("Failed to launch new process\n"); exit(-1); } else { // code for parent process which launched the child ret_val = child_pid; } return ret_val; }