首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法运行具有CPP代码pthread_setschedparam()的坞容器

无法运行具有CPP代码pthread_setschedparam()的坞容器
EN

Stack Overflow用户
提问于 2021-08-26 11:03:24
回答 1查看 136关注 0票数 0

我有一个码头容器,里面有CPP代码。

代码语言:javascript
运行
复制
void SetRealtimeThreadPriority()
{
    sched_param const param{ThreadPriorities::Priority()};
    int result = pthread_setschedparam(pthread_self(), ThreadPriorities::Policy(), &param);
    printf("SetRealtimeThreadPriority - result checked for assertion %d \n", result);
    assert(result == 0); (void) result;
}

当我运行在ubuntu机器中有这段代码的exe时,它工作得很好,其中打印的结果0(0)。但是当我在容器中运行它时,断言失败了。

我已经浏览了多个线程、手册页、docker运行文档和文章,并尝试使用下面的选项运行容器,但没有成功。

代码语言:javascript
运行
复制
docker run -it --rm --cap-add SYS_NICE MyContainer
docker run --cap-add=ALL --privileged MyContainer
docker run --cap-add=ALL MyContainer
docker run -it --rm --userns host --cap-add SYS_NICE MyContainer

如何调试此问题?我在wsl ubuntu 16.04上运行码头。

EN

Stack Overflow用户

发布于 2021-08-29 03:40:28

你可以插入一些代码。也许你能分辨出什么是不同的?例如,#include <sys/capability.h>... -lcap链接如下:

代码语言:javascript
运行
复制
std::cout << cap_to_text(cap_get_proc(), NULL) << std::endl;

就在呼叫pthread_setschedparam(2)之前。它会在容器内外显示不同的东西吗?

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68937342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档