Provided by: manpages-es_1.55-9_all bug

NOMBRE

       getpriority, setpriority - obtiene/asigna la prioridad de planificación
       de un programa

SINOPSIS

       #include <sys/time.h>
       #include <sys/resource.h>

       int getpriority(int which, int who);
       int setpriority(int which, int who, int prio);

DESCRIPCIÓN

       La prioridad de planificación del proceso, grupo de procesos o usuario,
       según se indique en which y who se obtiene con la función getpriority y
       se asigna con setpriority.  Which puede ser PRIO_PROCESS, PRIO_PGRP,  o
       PRIO_USER,  y  who se interpreta en función de which (un indentificador
       de proceso para PRIO_PROCESS, un indentificador de  grupo  de  procesos
       para  PRIO_PGRP,  y  un  identificador  de usuario para PRIO_USER).  Un
       valor cero de who indica (respectivamente)  el  proceso  invocador,  el
       grupo  de  proceso del proceso invocador, o el identificador de usuario
       real del proceso invocador.  Prio es un valor que puede variar de -20 a
       20 (vea la sección Observaciones más abajo) .  La prioridad por defecto
       es  0;  cuanto  más  baja  es  la  prioridad  más   favorable   es   la
       planificación.

       La  llamada  getpriority  devuelve  la  prioridad  más  alta  (el valor
       numérico más bajo) de  la  que  disfruta  cualquiera  de  los  procesos
       especificados.  La  llamada  setpriority asigna el valor especificado a
       las  prioridades  de  todos  los  procesos   especificados.   Sólo   el
       superusuario puede decrementar las prioridades (haciéndolas, por tanto,
       más altas).

VALOR DEVUELTO

       Ya que  getpriority  legítimamente  puede  devolver  el  valor  -1,  es
       necesario  borrar  la  variable  externa errno antes de la llamada a la
       función y comprobar su valor más adelante para determinar si -1  es  un
       error o un valor legítimo.  La función setpriority devuelve 0 si no hay
       error o -1 si lo hay.

ERRORES

       ESRCH   No se encontró ningún proceso que  cumpliera  con  los  valores
               especificados por which y who.

       EINVAL  Which no era PRIO_PROCESS, PRIO_PGRP, ni PRIO_USER.

       Además de los errores indicados arriba, setpriority puede fallar si:

       EPERM  Se  encontró  un  proceso,  pero  ni el identificador de usuario
              efectivo ni el  identificador  de  usuario  real  del  invocador
              coinciden con su identificador de usuario efectivo.

       EACCES Un  no  superusuario  intentó  decrementar  la  prioridad  de un
              proceso.

OBSERVACIONES

       Los detalles sobre la condición para EPERM dependen  del  sistema.   La
       descripción  dada arriba es lo que dice SUSv3, y parece ser seguida por
       todos los sistemas de tipo SYSV.  Linux requiere que  el  identificador
       de  usuario  real o efectivo del invocador coincida con el usuario real
       del proceso who (en lugar de su  identificador  de  usuario  efectivo).
       Todos  los  sistemas  de  tipo  BSD  (SunOS 4.1.3, Ultrix 4.2, BSD 4.3,
       FreeBSD 4.3,  OpenBSD-2.5,  ...)  requieren  que  el  identificador  de
       usuario efectivo del invocador coincida con el identificador de usuario
       real o efectivo del proceso who.

       El rango real de prioridad varía entre  las  diferentes  versiones  del
       núcleo.    Las  versiones  de  Linux  anteriores  a  la  1.3.36  tenían
       -infinito..15. A partir de la versión 1.3.43 se  tiene  -20..19,  y  la
       llamada  al  sistema  getpriority  devuelve  40..1  para  estos valores
       (puesto que los números negativos son códigos de error).  La llamada de
       biblioteca convierte N a 20-N.

       Incluir  <sys/time.h>  no  es  obligatorio  hoy día, pero incrementa la
       portabilidad.  (De hecho, <sys/resource.h> define la estructura  rusage
       con campos de tipo struct timeval definida en <sys/time.h>.)

CONFORME A

       SVr4, 4.4BSD (estas funciones aparecieron por primera vez en 4.2BSD).

VÉASE TAMBIÉN

       nice(1), fork(2), renice(8)