The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
tftp la solución de problemas Bobby76 UNIX for Dummies Preguntas y Respuestas 0 02-29-2008 09:44 AM
lectura de un archivo y pasar por hacer caso omiso de las variables y en el archivo # konark Programación de scripts de shell y 4 11-08-2007 03:55 AM
Lectura de un archivo y escribir el nombre del archivo a un archivo de parámetros. thebeginer UNIX para usuarios avanzados y expertos 1 10-05-2007 04:38 PM
Lectura de los nombres de archivo de un archivo y ejecutar el archivo familiar de script de shell anushilrai Programación de scripts de shell y 4 03-10-2006 05:25 AM
Lectura de los contenidos específicos de un archivo y se añade a otro archivo dnicky Programación de scripts de shell y 5 10-04-2005 05:45 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 10-03-2006
Indalecio Indalecio is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: Suecia
Puestos: 59
Solución del problema: el archivo de lectura choque?

Hola a todos
Estoy tratando de entender un problema que tuve ayer y estaba esperando que usted me da su opinión al respecto. Creo que solucionado el problema, pero sigo sintiéndome ignorante acerca de algunas partes de la conducta que podría experimentar en la situación siguiente. Aquí es la situación (antiguo código simplificado versión):

Código:
for FILE in $INPUT_DIR ; do
   grep -q $FILE $PROCESSED 2>&1
   if [ $? != 0 ] ; then
      echo $FILE >> $PROCESSED
   else
      continue
   fi
   SOURCE=`grep ^S $FILE | wc -l | awk '{print $1}'`
   END_RCD=`grep ^E $FILE | wc -l | awk '{print $1}'`
   if [ $SOURCE -ne $END_RCD ] ; then
      echo "Error in $FILE: "$SOURCE" source keys detected, but "$END_RCD" end keys detected.
   fi
done
El contenido de la INPUT_DIR figuran una gran cantidad de archivos, y se informó de lo anterior error en uno de ellos (FUENTE \u003d 1, END_RCD \u003d 0). Sin embargo, el archivo estaba bien por lo que pude ver. Rápidamente me garantiza mi comandos son correctas e incluso re-ejecutó el script en la lista de archivos de todo para conseguir un final bien como una salida, por lo que esta parecía extraño a primera vista.

Después de algún tiempo de investigación que finalmente descubrió que tenía un montón de n procesos que se ejecutan en segundo plano que piden poco de código. A pesar de que originalmente este supuesto este script sólo se ejecuta una vez al mismo tiempo, por lo que procesa los archivos de mi proceso (n) caer en INPUT_DIR sería la actualización del archivo processed para que no se recogió por las próximas convocatorias.

Desafortunadamente para mi teoría, la verdad es que el script se llama varias veces al mismo tiempo (a partir de diferentes períodos de sesiones), el procesamiento en paralelo, esto con un archivo que processed no es exclusiva (que comenzará a ver lo que puede parecer aquí ). Por lo tanto, para resumir, el script de arriba informó de un error cuando se ejecuta en el proceso (n) para un archivo creado por el proceso (n-1).

Ahora la situación debe ser bien siempre y cuando un archivo se abre una vez a la vez, es sólo que este fichero es marcada por el mal proceso, pero el resultado sigue siendo el mismo. Así que lo que yo creo es que el archivo sobre el que informó de que el error se abrió en dos sesiones al mismo tiempo.

He eliminado el archivo y ahora processed ejecutar este script una vez se completen todos los procesos, así que no hay cuestión más. La única cosa que yo aún no entiendo es por qué END_RCD dio 0. Dado que dos períodos de sesiones tienen diferentes topes variable, no veo cómo un posible choque de un archivo produciría un error de este tipo. Si alguien aquí tiene una credibilidad explicación, me encantaría saberlo.

Muchas gracias,
Yann
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 02:27 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0