Provided by:
manpages-es-extra_0.8a-17_all 
NOMBRE
lockfile - creador de fichero semaforo condicional
SINOPSIS
lockfile -tiempodormido | -r reintentos |
-l temporizador_bloqueo | -s suspend | -! | -ml | -mu |
nombre_fichero ...
DESCRIPCI'ON
lockfile Se puede usar para crear uno o mas ficheros sem'aforo. Si
lockfile no puede crear todos los ficheros especificados (en el orden
especificado), espera tiempodormido segundos (por defecto 8) y
reintenta el ultimo fichero que no pudo crear. Puede especificar el
numero de reintentos a llevar a cabo hasta que devuelva un fallo. Si
el numero de reintentos es -1 (por defecto, i.e. -r-1) lockfile
intentara indefinidamente.
Si el numero de reintentos expira antes de que se hayan creado todos
los ficheros, lockfile devuelve un fallo y elimina todos los ficheros
creados hasta ese punto.
El valor devuelto por lockfile se puede invertir facilmente
especificando -! como un argumento (viene bien en los guiones de
shell).
Todas las banderas se pueden especificar en cualquier posicion de la
linea de mandato, se procesan cuando se encuentran. La linea de mandato
es simplemente analizada de izquierda a derecha.
Todos los ficheros creados por lockfile seran de solo lectura, y por
tanto tendran que eliminarse con rm -f.
Si especifica un temporizador_bloqueo entonces el fichero de bloqueo se
eliminara a la fuerza cuando hayan pasado temporizador_bloqueo segundos
desde que el fichero fue creado/modificado por ultima vez (lo mas
probable por algun otro programa que murio inesperadamente hace cierto
tiempo y no pudo borrar los ficheros de bloqueo restantes). Lockfile es
inmune a las desviaciones del reloj. Tras haber eliminado un fichero de
bloqueo a la fuerza se tiene en cuenta una suspension de suspend
segundos (por defecto 16), para prevenir la eliminacion inmediata de
cualquier fichero de bloqueo creado recientemente por otro programa
(compare SUSPEND de procmail(1)).
Bloqueo de Buz'on
Si los permisos del directorio de spool de correo del sistema lo
permite o si lockfile tiene setgid, podra bloquear y desbloquear su
buzon del sistema usando las opciones -ml y -mu respectivamente.
EJEMPLOS
Supongamos que quieres estar seguro que el acceso al fichero
"importante" es en serie, es decir, no mas de un programa o guion de
shell podria acceder a el. Por motivos de simplicidad supongamos que es
un guion de shell. En este caso podria resolverlo de la siguiente
forma:
...
lockfile importante.lock
...
acceso_"importante"_al_contenido_de_su_corazon
...
rm -f importante.lock
...
Ahora, si todos los guiones que acceden a "importante" siguen esta
directriz, tendra la seguridad de que, como mucho, se ejecutara un
unico guion entre las ordenes `lockfile' y `rm'.
ENTORNO
LOGNAME usado como indicacion para determinar el nombre
del usuario que llama al programa.
FICHEROS
/etc/passwd para verificar y/o corregir el nombre de usuario
que llama al programa (y para encontrar el
directorio HOME, si fuera necesario)
/var/spool/mail/$LOGNAME.lock
fichero de bloqueo para el buzon del sistema,
las variables de entorno presentes aqui no se
tomaran del entorno, sino que se determinaran
mirando en /etc/passwd
V'EASE TAMBI'EN
rm(1), mail(1), binmail(1), sendmail(8), procmail(1)
DIAGN'OSTICOS
filename too long, ... Use un nombre de fichero mas corto.
Forced unlock denied on "x"
No hay permisos de escritura en el directorio
donde reside el fichero de bloqueo "x", o mas de
un fichero de bloqueo esta intentando forzar un
bloqueo exactamente al mismo tiempo.
Forcing lock on "x" El fichero de bloqueo "x" va a ser eliminado a
la fuerza por el sobrepaso del temporizador
(compare LOCKTIMEOUT en procmail(1)).
Out of memory, ... Al sistema no le queda espacio swap.
Signal received, ... Lockfile eliminara todo lo que haya creado hasta
ahora y termina.
Sorry, ... Se ha alcanzado el limite de reintentos.
Truncating "x" and retrying lock
"x" no parece ser un nombre_fichero valido.
Try praying, ... Subdirectorio no encontrado o privilegios
insuficientes.
FALLOS (BUGS)
Definitivamente menos de uno.
MISCEL'ANEA
Lockfile resistente a NFS y procesa los 8 bits.
NOTAS
Al llamar un fichero de bloqueo con las opciones -h or -? hara que
muestre una pagina de ayuda para la linea de mandatos. Llamandolo con
la opcion -v hara que muestre su informacion sobre la version.
Multiples banderas -! alternan el estado de salida.
Como las banderas pueden aparecer en cualquier posicion de la linea de
mandatos, cualquier nombre_fichero que empiece por '-' tiene que ser
precedido por './'.
El numero de reintentos no se reiniciara cuando se cree cualquier
fichero (i.e. simplemente se usan). Sin embargo, se puede reiniciar
especificando -rnewreintentos tras cada fichero en la linea de
mandatos.
Aunque se pueden usar ficheros con cualquier nombre como ficheros de
bloqueo, es una practica comun usar la extension `.lock' para bloquear
carpetas de correo (se anade al nombre de carpeta). En el caso de que
uno no quiera preocuparse por los nombres de ficheros demasiado largos
y no tener que adaptarse a cualquier otra convencion de ficheros de
blqueo, una excelente forma de generar nombres de fcheros de bloqueo
correspondientes a algun fichero existente es tomar el prefijo `lock.'
y anadir el numero de i-nodo de fichero que se tiene que bloquear.
ORIGEN
Este programa es parte del paquete de procesamiento de correo procmail
(v3.13.1) disponible en http://www.procmail.org/ o ftp.procmail.org en
pub/procmail/.
LISTAS DE CORREO
Existe un lista de correo para cuestiones relacionadas con cualquier
programa del paquete procmail:
<procmail-users@procmail.org>
para enviar preguntas/respuestas
<procmail-users-request@procmail.org>
para solicitudes de suscripcion.
Si quisiera estar informado sobre nuevas versiones y parches oficiales
envie una solicitud de suscripcion a
procmail-announce-request@procmail.org
(esta es una lista de solo lectura).
AUTOR
Stephen R. van den Berg
<srb@cuci.nl>