在一个命令中执行并重新启动进程

在一个命令中执行并重新启动进程

有谁知道是否可以在一个命令中执行和重新启动一个进程,即无需使用 ps 命令在进程列表中查找该命令,然后重新启动该特定的 pid。

答案1

只需使用nice( 而不是renice) 即可。例如:

nice -n 10 command

这将以command低优先级运行。

答案2

正如我提到的,@glenn-jackman 给了你答案。但为了详细说明一下,如果您希望为该命令赋予更高的优先级,但不打算以 root 身份运行它,您可以使用一个函数(和 sudo):

nice_cmd() {
  PRIORITY=$1 ; shift
  CMD=$1 ; shift
  ${CMD} $@ & cmdpid=$!
  sudo renice -n ${PRIORITY} -p ${cmdpid}
}

然后执行它(这可能会要求您输入用户密码,具体取决于 sudo 的配置方式)

$ nice_cmd -5 vim somefile
$ fg

从另一个终端的顶部,您可以仔细检查好值。

答案3

使用 Nice 和 renice 命令进行 Linux 进程调度的示例也可以在以下位置找到:http://www.vmexplore.com/tuning-process-scheduling/

相关内容