POSIX定义了一个接口,可以获得指定进程的时间片长度:
#include
struct timespec{
time_t tv_sec; //seconds
long tv_nsec; //nanoseconds
};
int sched_rr_get_interval(pid_t pid,struct timespec *tp);
sched_rr_get_interval()这个函数命名很糟糕,调用成功时,将把pid指定进程的
时间片存储在tp指向的timespec结构中,并返回0;失败时,函数返回-1,并相应
设置errno值。
POSIX规定sched_rr_get_interval()函数只适用于SCHED-RR进程,然而在Linux上,
该函数可以获得任意进程的时间片长度。该函数的调用例子如下:
编译:
运行: