pid 0对sched_setaffinity意味着什么

问题描述

|| 我在Nginx代码中看到了这样的代码
    if (sched_setaffinity(0,32,(cpu_set_t *) &cpu_affinity) == -1) {
        ngx_log_error(NGX_LOG_ALERT,cycle->log,ngx_errno,\"sched_setaffinity(0x%08Xl) Failed\",cpu_affinity);
    }
为什么这里
pid
0
而不是
getpid()
?     

解决方法

        从
sched_setaffinity(2)
联机帮助页:   亲和力掩码实际上是每个线程的属性,可以是   为线程组中的每个线程独立调整。的   调用returned5ѭ返回的值可以在参数中传递   pid将“ 1”指定为0将设置调用的属性   线程,并将调用返回的值传递给
getpid(2)
  设置线程组主线程的属性。 (如果你是   使用POSIX线程API,然后改用
pthread_setaffinity_np(3)
  
sched_setaffinity()
。)