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).