後台進程有不同的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
在外殼的某些變體中ksh
(例如pdksh
,和可能 mksh
),該選項仍然可用,但是不是預設設定。