The UNIX and Linux Forums  

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
secuencia de comandos para controlar el proceso en ejecución en el servidor y la publicación de un correo electrónico si cualquier proceso está muerto pradeepmacha Programación de scripts de shell y 13 03-06-2009 07:33 AM
¿Puede un menor proceso de retorno un valor específico a un proceso padre? Ametis1970 Programación de Alto Nivel 8 04-10-2008 12:22 AM
Asesinato de un proceso y enviar un correo electrónico si el proceso doesnot llegar en 2 minutos Prince89 Programación de scripts de shell y 1 02-15-2008 07:10 PM
cómo iniciar un proceso y hacerlo dormir durante 5 minutos y luego matar a ese proceso shrao Programación de scripts de shell y 6 03-27-2007 01:54 PM
mi proceso va a modo de reposo después de 12 horas, pero necesito en mi proceso en firsy pr mukesh_rakesh1 UNIX para usuarios avanzados y expertos 0 09-05-2006 03:43 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 02-07-2007
mpang_ mpang_ is offline
Usuario Registrado
  
 

Fecha: marzo 2006
Puestos: 89
proceso

Hola, tengo un trabajo que tengo que salen cada 15 minutos, sin embargo, tengo que garantizar que los anteriores puestos de trabajo (15 minutos) se realiza antes de que pueda comenzar una nueva, ¿cómo puedo hacer eso? THANK YOU SO MUCH!
  #2 (Enlace permanente)  
Old 02-07-2007
BOFH BOFH is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: febrero 2005
Lugar: Broomfield, CO
Puestos: 406

Código:
#!/bin/ksh

PID=$$

if [[ -f /var/run/script.pid ]]
then
  OLDPID=`cat /var/run/script.pid`
  RUNNING=`ps -e | grep $OLDPID`
  if [[ ! -z "$RUNNING" ]]
  then
    exit 1
  fi
fi

echo $PID > /var/run/script.pid

# your code here

if [[ -f /var/run/script.pid ]]
then
  rm /var/run/script.pid
fi

Carl
  #3 (Enlace permanente)  
Old 02-07-2007
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderador
  
 

Fecha: octubre 2003
Ubicación: -31.96,115.84
Mensajes: 1.411
Utilice un bloqueo temporal que contiene el identificador de proceso, por ejemplo ..
Código:
#!/usr/bin/ksh

LOCKFILE=/tmp/lockfile

#---At the start of your script check to see that a lockfile exists
if [[ -f $LOCKFILE ]]
then
    #----If the lockfile does exist then check that the process is still running
    #     since it may have aborted and left the lockfile behind
    if ps -p $(<$LOCKFILE) >/dev/null
    then
        echo job is still running
        exit
    fi
fi

#---Must be okay to run, so create the lockfile containing the process id
echo $$ > $LOCKFILE

#----Rest of script goes here
:

#----end
rm $LOCKFILE

No se ha probado.
  #4 (Enlace permanente)  
Old 02-08-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Fecha: marzo 2005
Ubicación: en el nodo hoja del árbol B +
Mensajes: 2.960
Sólo el pensamiento de la inclusión de esto es como una nota.


Al crear una lockfiles para controlar el proceso de desove, cuando el anterior ejemplo, se siguen publicando.

Es mejor evitar a los nombres comunes de bloqueo de archivos y reorientar el proceso de identificación sólo del proceso para el archivo de control.

En primer lugar, si se utilizan nombres comunes, existe una gran probabilidad de que un mismo tipo de convención de nombres (el mismo nombre al archivo de bloqueo) ser utilizado por otros scripts y para que también utilice el mismo nombre para sus propios fines.

Si el proceso de identificación se utiliza como un valor en el archivo de bloqueo, en un sistema ocupado existe una alta posibilidad de que un proceso de «A» con el funcionamiento pid -> pid1 se hace con su trabajo y de nuevo sistema de concesión de un nuevo proceso "B" el mismo pid -> pid1 y terminamos el control de un proceso que no debería ser en realidad.

De ahí su mejor agregar más información como el identificador de proceso padre o algo así como fecha y hora que para garantizar la singularidad.

Y la última cosa que podría bloquear el archivo permanente con los bits, una vez que se escribe, de modo que los procesos que tienden a sobrescribir ellos recibirá un mensaje de error. Aunque esto no es tan seguro de esta manera es un poco por delante.
  #5 (Enlace permanente)  
Old 02-08-2007
mpang_ mpang_ is offline
Usuario Registrado
  
 

Fecha: marzo 2006
Puestos: 89
muchas gracias por todas sus excelentes consejos! Sin embargo, me gustaría añadir un detalle, tengo 2 trabajos (usando el mismo guión con diferentes parámetros), comenzando al mismo tiempo, siempre utilizando el método de trabajo sería, ¿hay alguna solución?
  #6 (Enlace permanente)  
Old 02-08-2007
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderador
  
 

Fecha: octubre 2003
Ubicación: -31.96,115.84
Mensajes: 1.411
Cambie el nombre del bloqueo en función de los parámetros, por ejemplo ..
Código:
LOCKFILE=/tmp/$(basename $0).$(echo $*|tr ' ' '.')

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:32 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