无法修改FD epoll:没有此类文件或目录

时间:2018-05-04 21:36:08

标签: c++ process ros

编写C ++代码(linux OS) - 我有一个程序,我试图通过使用系统调用来执行另一个启动文件(ROS)。 代码:

int NodeletLauncher::startNode(std::string nodeName, std::string launchFile)
{
    std::string command_call = " roslaunch " + nodeName + " " + launchFile + " &";
    pid_t pid = fork();
    switch (pid)
    {
        case -1: //error
            ROS_ERROR_STREAM("Fork failed");
            break;
        case 0: //child process
            ROS_INFO_STREAM("Starting node: " << nodeName);
            system(command_call.c_str());
            mProcList[nodeName] = getpid();
            break;
        default:
            break;
    }

    return 0;
}

我可以运行它,但收到以下错误:

  

[错误] [1525469227.289615557]:无法修改FD epoll:没有这样的   文件或目录[错误] [1525469227.289675313]:无法删除FD   epoll:没有这样的文件或目录

这是什么意思? 是否有更好的方法来启动程序,而不是使用系统调用&#39;&amp;&#39;在末尾? (添加&#39;&amp;&#39;为了不阻止父进程)。

谢谢!

0 个答案:

没有答案