【问题标题】:Nice and Renice commandsNice 和 Renice 命令
【发布时间】:2012-08-21 13:58:48
【问题描述】:

我很想知道当您发出 nice 和 renice 命令时调用的内核端方法是什么?我在内核端找到了 set_user_nice() 。然而,它的参数不是 pid 和 nice 值,我们在发出命令 renice(a taskstruct & nice value) 时使用它。有人知道当你发出 nice & renice 命令时会调用哪些函数吗?

【问题讨论】:

  • 我认为 renice 调用 set_user_nice(),因为 renice 是针对已经运行的进程。 Nice 是用修改后的 nice 值启动一个进程..
  • 你知道那些程序是开源的吗?搜索 GNU coreutils。

标签: linux linux-kernel scheduling nice renice


【解决方案1】:

nicerenice 命令调用 setpriority 系统调用。 (您可以通过strace 发现这一点。)

setpriority 函数调用内核中的 sys_setpriority 函数(尽管您不会直接在内核源代码中找到该名称;它是从 SYSCALL_DEFINE3(setpriority, ...) 的宏扩展生成的)。

【讨论】:

  • @BasileStarynkevitch 是的,但显然nice(1) 没有使用它。
猜你喜欢
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 2017-03-27
  • 2023-01-16
  • 1970-01-01
  • 2014-04-02
  • 2011-11-28
相关资源
最近更新 更多