Twitterに投稿 はてなブックマークに追加 Google Bookmarksに追加

目次 >> C、C++ >> Tips

Unix系OSで実行優先度を取得する、設定するには?

Unix系OSでは実行優先度は、-20から19までの間で表される。この数値が小さいほど、優先度が高い。コマンドラインからは、niceコマンドで指定することができる。これをプログラム側で指定するにはgetpriorityおよびsetpriorityを使う。
必要なヘッダファイルは

#include <sys/time.h>
#include <sys/resource.h>

である。

使い方は、

int prio=getpriority(PRIO_PROCESS,0);

prioに-20から19までの数値が入る。

なお、setpriorityで優先度を設定することができる。例えば、

int err=getpriority(PRIO_PROCESS,19);

とすると、優先度が一番低くなる。errにはもし成功したら0が失敗したら-1が入る。


最終更新日


本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて20.04、21.04のようにバージョン番号をつけて区別しています。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2021 Chikuma Engineering Co., Ltd. All Rights Reserved.