後台進程的美好

後台進程的美好

後台進程有不同的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),該選項仍然可用,但是不是預設設定。

相關內容