后台进程有不同的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
),该选项仍然可用,但是不是默认设置。