Linux 的‘nice’命令可以在任何 shell 脚本上运行吗?

Linux 的‘nice’命令可以在任何 shell 脚本上运行吗?

它适用于任何 shell 脚本吗nice,还是仅适用于基本的 Linux 命令?

例如,如果我有一个包含sort函数的自定义 shell 脚本,并且我调用

nice myscript.sh

脚本中的调度优先级是否nice适用?如果在后台运行(使用或),是否仍可行?sortnicemyscript.sh&nohup

答案1

是的,该nice命令可以与脚本一起使用。实际上,假设您使用的是 bash,nice 命令将应用于 bash 及其所有可能的子进程。当进程在后台运行时,nice 优先级不会改变。

您可以自己测试一下,看看 nice 确实会影响 bash 脚本的优先级。只需执行您想要的任何脚本,然后使用ps即可查看优先级:

ps -eo pid,pri,cmd

答案2

Nice 适用于运行命令时启动的进程和任何子进程。因此,您的问题的答案是肯定的,它适用于任何命令/脚本,即使它们被置于后台。

答案3

是的,nice可以使用脚本,例如:

nice ./example.sh

如果要使用脚本中的命令调整调度优先级,可以使用renice。以下是示例脚本的内容:

#!/bin/bash

echo "Hello world"
renice -n 10 -p $$
echo "Now the niceness value has been changed to 10."

友善度值的范围从 -20(对流程最有利)到 19(对流程最不利)。

相关内容