Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
進階的行程管理
|
209
一個行程之排班方針和參數的設定很容易:
struct sched_param sp = { .sched_priority = 1 };
int ret;
ret = sched_setscheduler (0, SCHED_RR, &sp);
if (ret ==
1) {
perror ("sched_setscheduler");
return 1;
}
上面這段程式碼會把「進行調用之行程的」排班方針及靜態優先權值分別設定為循環類
型及 1。此處,我們假定 1 是一個有效的優先權值—技術上來說,沒有這個需要。稍後
我們將討論如何替特定的方針找到有效的優先權值範圍。
設定
SCHED_OTHER
以外的方針時,需要具備
CAP_SYS_NICE
的能力。因此,一般只有 root
用戶能夠執行即時行程。從 2.6.12 版核心開始,
RLIMIT_RTPRIO
資源限度可讓非 root
戶對即時方針的設定達到特定的優先權上限。
發生錯誤時,
errno
會被設定為下面其中一個值:
EFAULT
指標
sp
指向了一個無效的或無法存取的記憶體範圍。
EINVAL
policy
指定了無效的排班方針,或者
sp
中所指定的值,對
policy
所指定的排班方針
而言,毫無意義(僅適用於
sched_setscheduler()
)。
EPERM
進行調用之行程並不具備所需要的能力。
ESRCH
pid
的值並不代表一個正在運行的行程。
設定排班參數
POSIX 所定義的
sched_getparam()
sched_setparam() ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812