后台进程的美好

后台进程的美好

后台进程有不同的nice给定吗?我注意到它没有默认的 0。这可能是一个问题,因为它的优先级较低..有谁知道如何改变这种行为?我通过下面的启动脚本运行java,并且nice该脚本内没有调用。

nohup ./start.sh &

F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  5330  12759      1  0  84   4 -  3283 -      ?        00:00:00 start.sh
0 S  5330  12772  12759  1  84   4 - 1462473 -    ?        00:19:12 java

答案1

ksh运行此脚本的用户正在从交互式shell 会话的后台启动它。

shellksh有一个名为 的 shell 选项bgnice,其中ksh93打开状态默认情况下,这会导致 shell 以非零的 Niceness 值启动后台作业(它将比启动作业的 shell 高 4)。

这是来自ksh93手册:

bgnice 所有后台作业都以较低优先级运行。这是默认模式。

要关闭此选项,请使用

set +o bgnice

在 shell 的某些变体中ksh(例如pdksh,和可能 mksh),该选项仍然可用,但是不是默认设置。

相关内容