QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 748|回复: 5

请教一个系统调用的问题,请不吝赐教!谢谢

[复制链接]
发表于 2004-10-26 10:14:08 | 显示全部楼层 |阅读模式
我想用sched_setscheduler系统调用设置当前进程的调度策略为FIFO,之后打印出当前的调度策略。还要设置实时优先级为30,也打出。麻烦您帮助,最好给出代码。谢谢。
我在程序中用current,有错误。
 楼主| 发表于 2004-10-26 13:31:59 | 显示全部楼层
自己up一下
回复

使用道具 举报

发表于 2004-10-26 14:22:58 | 显示全部楼层
man sched_setscheduler

手册里写的很详细啊,写作业呢吧。

调不出来再问吧。
回复

使用道具 举报

 楼主| 发表于 2004-10-26 15:27:54 | 显示全部楼层
#include <stdio.h>
#include <sched.h>
int main(){
struct sched_param{
       int sched_priority;
};
int sched_setscheduler(pid_t pid,int policy,const struct sched_param  *p);
int sched_getscheduler(pid_t pid);
const struct sched_param *p1={20};
int id=getpid();
sched_setscheduler(id,SCHED_FIFO,p1);
printf("id=%d,celv=%d\n",id,sched_getscheduler(id));
return 0;
}   
我想设置实时优先级为20,策略为FIFO,可是编译就过不去,请指教
回复

使用道具 举报

发表于 2004-10-26 16:27:34 | 显示全部楼层
看来你得好好学习一下c语言了。
[code:1]
#include <stdio.h>
#include <sched.h>
#include <sys/types.h>

int main()
{
    struct sched_param p1;
    pid_t  id;

    p1.sched_priority = 20;
    id = getpid();
    sched_setscheduler(id, SCHED_FIFO, &p1);
    printf("id=%d,celv=%d\n", id, sched_getscheduler(id));
    return 0;
}
[/code:1]

注意,上面的程序只是改成能编译运行,不一定符合你的要求
回复

使用道具 举报

 楼主| 发表于 2004-10-27 09:15:54 | 显示全部楼层
谢谢斑竹
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 05:40 , Processed in 0.045299 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表