为什么 `sched_setscheduler()` 需要 root 权限?

2023-12-11

为什么sched_setscheduler()需要root权限吗?

我正在编写一些受益于设置 SCHED_FIFO 的代码。但如果我使用 sched_setscheduler() 我现在必须要求此进程以 root 身份运行。为什么不允许sched_setscheduler()无需root权限即可运行?


大概是因为使用实时调度程序的进程可以完全接管一台机器,而不会将 CPU 交给其他进程——普通用户不应该有权力这样做。

Linux 允许您进行比以 root 身份运行更细粒度的控制,您可以设置 CAP_SYS_NICE能力使用以下命令在您的可执行文件上(以 root 用户身份执行一次):

 setcap cap_sys_nice+ep ./your_program  

这将允许您的可执行文件使用 sched_setscheduler,即使它不是以 root 用户身份运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 `sched_setscheduler()` 需要 root 权限? 的相关文章

随机推荐

  • ASP.NET 中的 OpenIDSelector 问题

    我正在尝试使用 asp net c 在我的网站中使用 OpenID 我正在使用 asp net v4 开发 asp net 表单网站 我遇到的问题是我的工具箱中的 openidselector 控件是由 dotnetopenauth dll
  • dbms_output.put() 的缓冲方式与 dbms_output.put_line() 不同吗?

    我使用 Aqua Data Studio 通过分散输出语句来调试存储过程 我在包中有一条违反完整性约束的删除语句 DELETE FROM x WHERE x ID an x with children 正如预期的那样 我的过程在该行失败并出
  • 为什么类的静态方法可以继承,而接口的静态方法不能继承?

    我知道在Java中静态方法就像实例方法一样被继承 不同之处在于当它们被重新声明时 父实现被隐藏而不是被覆盖 好吧 这是有道理的 然而 Java 教程注意到 接口中的静态方法永远不会被继承 为什么 常规方法和接口静态方法有什么区别 让我澄清一
  • php通过序列号进行页面导航

    任何人都可以帮助这个 php 页面导航脚本打开计算正常序列号吗 在这个脚本中有一个名为 page id 的变量 我希望这个变量按0 1 2 3 4 5等顺序存储真实的页面链接
  • 有没有办法在 EDM Designer 2010 中设置自定义复数形式?

    我正在使用 VS 2010 并且我有一个实体 Person 复数服务将其复数变为 People 我希望它是 Persons 有没有可以管理复数库的地方 不在 Visual Studio 中 no 与此同时 您可以下降到 API 级别并创建您
  • 将匿名/动态函数设置为菜单

    我想在 Google Sheets 插件中为动态菜单设置动态功能 我正在使用以下代码 function onOpen e var menu SpreadsheetApp getUi createAddonMenu for var i 0 i
  • 更新外键值

    我有一个数据库应用程序 其中的组建模如下 TABLE Group group id integer primary key group owner id integer TABLE GroupItem item id integer pri
  • Android 传感器:getRotationMatrix() 返回错误值,为什么?

    我开始使用这个功能已经过去几天了 但还没有成功获得有效的结果 我想要的是基本上将加速度矢量从设备坐标系转换为现实世界坐标 我知道这是可能的 因为我有相对坐标的加速度 并且我知道设备在现实世界系统中的方向 阅读 Android 开发人员似乎使
  • 从 Angular 4 中的不同包导入模块

    这是一个概念性问题 我对 Angular 和 npm 都是绝对的初学者 所以这肯定是一个基本问题 但我一直在寻找答案 但没有找到答案 我想在开始项目之前做一些概念验证 我想要一个名为 Imported 的包 并在名为 Importer 的包
  • kubernetes 中的 coredns crashloopbackoff

    我已经设置了kubernetes in ubuntu 16 04 我使用的是kube版本1 13 1并使用 weave 进行联网 我已经使用以下方法初始化了集群 sudo kubeadm init token ttl 0 apiserver
  • 使用 apache poi api 创建 Word 文档时,如何添加 X of Y 格式的页码?

    POI API 中是否指定了任何方法来获取总页数 我可以在文档的页脚中添加页码 但无法添加总页数值 页数Word取决于很多因素 例如字体大小 段落顶部 底部边距和填充 打印机设置 手动插入的分页符等 所以不能直接存到文件中 它将在运行时计算
  • 如何在信号集线器上缓冲消息并在正确的客户端出现时发送它们?

    我有两种类型的客户端连接我的 signalR 服务器 ASP NET Core 其中一些是发送者 一些是接收者 我需要将消息从发送者路由到接收者 这不是问题 但是当没有接收者时 我需要以某种方式缓冲消息而不丢失它们 可能最好的是某种单例类中
  • 将 :after 与 :hover 结合起来

    我想结合 after with hover在CSS 或任何其他伪选择器 中 我基本上有一个清单和带有selected类具有使用应用的箭头形状 after 我希望对于那些悬停在其上方但无法完全发挥作用的对象也是如此 这是代码 alertlis
  • 如何使用compare + je计算匹配项?

    我正在编写一个代码来计算字符串中有多少个单词 如何使用 je 增加寄存器 例如 cmp a bx 1 00h je inc cx je是一个有条件的jump 与 ARM 不同 x86 无法根据任意条件直接预测另一条指令 没有一条机器指令可以
  • 获取div标签特殊属性的值

    如果下一个命令 console log document getElementById container prints div div 为什么下一个命令 console log document getElementById contai
  • Matplotlib 绘制配对图?

    昨天我发布了这个 使用 DataFrame 矩阵的相关散点图 因为我的英语在技术方面不太好 所以我很难解释我的问题是什么 我试图绘制一个pairplot使用此相关数据 https i stack imgur com uJvG1 png oz
  • 更改android开发设备id

    我想将多个 Android 设备连接到同一台机器并通过 adb 管理它们 不幸的是 某些 Android 型号向 adb 显示相同的开发设备 ID 有没有办法改变开发设备ID adb devices List of devices atta
  • 如何在 Utf-8 -> php 脚本 -> mysql 中执行 HTTP POST

    我正在使用 Delphi 7 和 ICS 组件与 php 脚本通信并在 mysql 数据库中插入一些数据 如何使用 http post 发布 unicode 数据 使用 tnt 控件中的 utf8encode 后 我将其发布到 PHP 脚本
  • 如何用 EditText 中的图像替换字符串?

    我目前正在开发一个简单的聊天应用程序 我想在这个应用程序中添加表情符号功能 我已经有一个从其他用户接收字符串的函数 我想要的是 如果用户发送的文本包含像 D 或 p 这样的字符序列 我希望它们被更改为表情符号 我该如何实现这个功能呢 我想要
  • 为什么 `sched_setscheduler()` 需要 root 权限?

    为什么sched setscheduler 需要root权限吗 我正在编写一些受益于设置 SCHED FIFO 的代码 但如果我使用 sched setscheduler 我现在必须要求此进程以 root 身份运行 为什么不允许sched