debuggerProcess = new ACE_Process();
ACE_Process_Options options;
options.command_line(cmdline.c_str());
//options.avoid_zombies(1);
pid_t pid = debuggerProcess->spawn(options);
ACE_Process_Options::spawn() is working properly on windows. if i pass the invalid input which means a non-existent executable, return pid should be "-1". whereas in linux, it is not the same and return pid is some +ve Number(>1). i checked the created process as well, that was a zombie process. if i specify to avoid_zombies the return pid is always "1". can you please tell when this call fail n returns "-1" in Linux.