SKILL(1)

NOMBRE
skill, snice - señalan o cambian la prioridad de procesos especificados

SINOPSIS
skill [-signal] [-ivfwn] {tty user command pid}
snice [(-|+)priority] [-ivfwn] {tty user command pid}
skill -l

DESCRIPCIÓN
Skill Envía la señal terminate a un conjunto de procesos. Si se da un nombre ( o número ) de señal precedido por un "-", esa señal se sustituirá por terminate. El comando skill -l muestra una lista de señales disponibles.

Snice altera la prioridad establecida para un conjunto de procesos seleccionados. Por defecto, la nueva prioridad será +4, pero se puede usar un argumento del tipo "+n" (ó "-n") para especificar valores diferentes. Cualquier prioridad no válida será redondeada ascendente o descendentemente hasta llegar al primer valor aceptable.

Las opciones aceptadas por ambos comandos son las siguientes:

-i  En modo interactivo, se consulta al usuario ante cada proceso candidato para una acción. Al responder "y" se ejecutará la acción especificada. Por otra parte, un ^D hace que skill o snice se cierren inmediatamente.

-v  En modo de información ampliada, se muestra el id de cada proceso sobre el que se ha actuado con éxito.

-f  En modo rápido, se le permite al código dependiente de la máquina responsable de la lectura de los procesos que tome decisiones que contribuyan a mejorar la velocidad a expensas de la información sobre errores (por ejemplo, es posible que no se muestren los comandos). Esta opción existe principalmente para ayudar a eliminar procesos fuera de control en sistemas con diseños VM complicados.

-w  Muestra mensajes de advertencia ante procesos inalcanzables.

-n  Muestra los ids del proceso pero no actúa sobre ellos.

Todos los argumentos en la línea de comandos son independientes en cuanto a su orden. Skill y snice permiten que los procesos se especifiquen usando cualquier combinación de ttys, nombres de usuario y comandos (además de ids de procesos). Sólo se actúa sobre procesos que coincidan con algo en cada una de las categorías. Una categoría vacía asegura una coincidencia. Por ejemplo, "skill -HUP vi ex tty00" enviará la señal hangup a todos los procesos vi(1) y ex(1) asociados con tty00. Del mismo modo, "snice +10 find root" cambiará la prioridad de todos los procesos find(1) que pertenezcan a root a +10.

Los usuarios sin privilegios solamente pueden cambiar sus propios procesos de modo que no necesitan especificar su nombre de usuario como parte de la lista de argumentos. Por otra parte, el super-usuario deberá extremar su cuidado (por ejemplo, el comando "snice -5 vi" cambiará la prioridad de todo proceso vi(1) en el sistema).

Dado que skill y snice categorizan sus argumentos, existe la posibilidad de que lo hagan incorrectamente ( por ejemplo, el caso de que un comando del sistema coincida con un nombre de usuario). Ambos programas tratan de emparejar un argumento con un tty, un nombre de usuario y un id de proceso , antes de clasificarlo como comando. Para evitar esto, se puede forzar un argumento a un tipo particular precediéndole de "-c" (comando), "-u" (usuario), "-t" (tty), o "-p" (id de proceso).

Los ids de los procesos no se conocen de antemano, de modo que ha de buscarse la información necesaria en la memoria del kernel y en el dispositivo swap. Además de esto, en algunos sistemas se busca también en el sistema de archivos "/proc". Cuando se descubre un proceso que concuerda con cada categoría, se actúa sobre él inmediatamente (a no ser que se esté trabajando en modo interactivo). Todos los procesos deben pertenecer al usuario actual a no ser que él o ella sea el super-usuario. Ninguno de los programas tratará nunca de actuar sobre sí mismo, pero cualquier otra cosa entra dentro de lo posible.

El estado de salida es normalmente 0; si el usuario comete un error, se devuelve 1. Si ocurre un error de sistema, se devuelve 2.

ARCHIVOS
/vmunix    lista de nombres del sistema
/dev/mem    memoria física
/dev/kmem    memoria virtual del kernel
/dev/drum    dispositivo swap
/proc    sistema de archivos de procesos
/dev    examinado para emparejar ttys con números
            de dispositivo

VÉASE TAMBIÉN
kill(1), nice(1), priocntl(1), renice(1), ps(1),
kill(2), setpriority(2), signal(2), proc(4)

AUTOR
Jeff Forys

CONTRIBUYEN
David Sharnoff    Greg Earle    Christos Zoulas
Gorodecki Tom    Mike Hibler    Ric Anderson

FALLOS (BUGS)
Las cosas cambian mientras estos programas se están ejecutando; es posible que se salten procesos de vez en cuando (la opción "-w" los muestra).

Los nombres de comando se pueden truncar a un tamaño dependiente de la máquina.

En algunos sistemas operativos, estos programas son incapaces de investigar procesos pertenecientes a otros usuarios. A pesar de no resultar un problema, este hecho aparece reflejado en el aviso "(but N could not be checked)" (pero N no se pudo comprobar) que aparece a continuación del mensaje "no matching processes" (procesos que no se han podido emparejar).