【发布时间】:2018-05-02 10:56:54
【问题描述】:
我是操作系统编程的新手。因此,我编写了这段代码来更改后台进程的调度策略,我通过命令行参数提供了该后台进程的进程 ID,但是 sched_setscheduler() 函数失败,并给出错误,“函数未实现”
#include <sched.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
struct sched_param param;
param.sched_priority = 80;
int pid = atoi(argv[1]);
int policy = sched_getscheduler(pid);
printf("Current policy: %d\n", policy);
if(sched_setscheduler(pid, SCHED_FIFO, ¶m) == -1){
perror("Scheduler policy cannot be set");
}
int new_policy = sched_getscheduler(pid);
printf("New policy: %d\n", new_policy);
}
谁能告诉我为什么会这样?谢谢。
【问题讨论】:
标签: process operating-system scheduling job-scheduling