C言語システムコール-setpriority
setpriority
概要
setpriorityはプロセスの優先度を設定します。
Linuxの優先度の範囲は「-20〜19」であり、「-20」が最も高い優先度となります。
Linux本来のシステムコールでは「40(最大)〜1(最低)」という値が用いられていますが、getpriority()内で値が変更されます。
なお、FreeBSDの優先度の範囲は「-20〜20」です。
プロセスの優先度は「niceコマンド」で変更/指定します。
nice -1 ./command
サンプルプログラム
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <sys/time.h>
#include <sys/resource.h>
static int
check_prioriry(void)
{
int prio = 0;
/* errnoを0クリアする必要がある */
errno = 0;
prio = getpriority(PRIO_PROCESS, 0);
if(errno != 0){
printf("Error: getpriority(%d) %s\n", errno, strerror(errno));
return(-1);
}
printf("priority=%d\n", prio);
return(0);
}
int
main(void)
{
int rc = 0;
rc = setpriority(PRIO_PROCESS, 0, 19);
if(rc < 0){
printf("Error: setpriority(%d) %s\n", errno, strerror(errno));
return(-1);
}
rc = check_prioriry();
if(rc != 0) return(-1);
return(0);
}
関連ページ
- C言語
- C言語システムコール
- C言語システムコール-chdir
- C言語システムコール-chroot
- C言語システムコール-fork
- C言語システムコール-execve
- C言語システムコール-wait
- C言語システムコール-getpid
- C言語システムコール-getpriority / C言語システムコール-setpriority
- C言語システムコール-getpgid / C言語システムコール-setpgid
- C言語システムコール-getuid / C言語システムコール-setuid
- C言語システムコール-getsid / C言語システムコール-setsid
- C言語システムコール-getgroups / C言語システムコール-setgroups
- C言語システムコール-getrusage
- C言語システムコール-getrlimit / C言語システムコール-setrlimit
- C言語システムコール-nanosleep
- C言語システムコール-kill
- C言語システムコール-sigaction
- C言語システムコール-sigsuspend
- C言語システムコール-signal
- C言語システムコール-getitimer
- C言語システムコール