/**
* sets cpu affinity for the process
*
* @param cpu cpu# to which the affinity should be set
*
* @retval 0 on success
* @retval -1 when setting the affinity failed
**/intset_cpu_affinity(unsignedint cpu){cpu_set_t cpuset;CPU_ZERO(&cpuset);CPU_SET(cpu,&cpuset);dprintf("set affinity to cpu #%u\n", cpu);if(sched_setaffinity(getpid(),sizeof(cpu_set_t),&cpuset)<0){perror("sched_setaffinity");fprintf(stderr,"warning: unable to set cpu affinity\n");return-1;}return0;}
2 设置当前进程的优先级
/**
* sets the process priority parameter
*
* @param priority priority value
*
* @retval 0 on success
* @retval -1 when setting the priority failed
**/intset_process_priority(int priority){structsched_param param;dprintf("set scheduler priority to %i\n", priority);
param.sched_priority = priority;if(sched_setscheduler(0, SCHEDULER,¶m)<0){perror("sched_setscheduler");fprintf(stderr,"warning: unable to set scheduler priority\n");return-1;}return0;}