The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Sistema Operativo > HP-UX
.
google unix.com



HP-UX HP-UX (Hewlett Packard Unix) de Hewlett-Packard es la aplicación de la propiedad del sistema operativo Unix, basado en System V.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
añadir la salida de una consulta a una variable que se utiliza en otra consulta hazno Programación de scripts de shell y 0 03-24-2009 08:52 PM
Mac OS X: ¿Por qué el Mac no puede dormir o permanecer en modo de reposo iBOT OS X Soporte RSS 0 03-19-2009 10:50 PM
convertir a unixtime localtime AshishK UNIX para usuarios avanzados y expertos 2 10-30-2007 10:22 AM
Perl + localtime () Optimus_P Programación de scripts de shell y 3 07-09-2003 06:32 PM
dormir Anna UNIX for Dummies Preguntas y Respuestas 5 07-11-2001 12:52 AM

Reply
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 Calificación: Thread Rating: 1 votes, 4.00 average. Modos de visualización
  #1 (Enlace permanente)  
Old 06-29-2009
nsvora nsvora is offline
Usuario Registrado
  
 

Fecha: junio 2009
Publicaciones: 2
dormir y localtime consulta

Hola,
Yo trabajo en la aplicación y HPUX i había una pregunta sobre el sueño y en la llamada al sistema localtime HPUX.
Este es el código que tenemos:

const uint32_t WAKE_INTERVAL_SEC (30 * 60);
while (true) (

/ / Para saber qué hora es
tiempo (y tiempo actual);

/ / Hilo de alinear con reloj despertador 30 minutos es decir, si actualmente está 9:20 despertar después de 10 minutos,
/ / Si es actualmente 9:05, despierta después de 25 minutos.
/ / Calcular el número de segundos restantes en esta media hora.
sleepTime \u003d WAKE_INTERVAL_SEC - (tiempo actual WAKE_INTERVAL_SEC%);
while (1) (

dormir (sleepTime);

/ / Do trabajo ordinario
tptr \u003d localtime (& tiempo actual);

si (12-tptr \u003d\u003d> tm_hour & & tptr-> tm_min <WAKE_INTERVAL_MIN)
(
/ / Mediodía trabajo por hacer
)
)

Comportamiento esperado:
Como se menciona en el código anterior, esperamos que cada media hora, algún trabajo que hacer y si ese tiempo pasa a ser de entre 12 y 12:30 horas luego del mediodía también hacer el trabajo.

Comportamiento real:
La mayoría de las veces funciona como se esperaba. Pero algunas veces, el sueño parece salir unos segundos antes de las 12:30 y por lo que la lógica y no hace el trabajo al mediodía. Lo ideal sería que yo esperaría que la condición de trabajo al mediodía al fracaso, ya que tiene hilo se despertó a las 12:30 y, por tanto, no puede satisify mediodía condición de trabajo. (Trace en syslog indica que ha comenzado a regular el trabajo a las 12:30, pero la tala en sí se han tomado algún tiempo y sospecho que el sueño podría haber despertado temprano)

Pregunta:
- ¿Puedo dormir despertar antes de tiempo el calendario (excepto SIGALRM)? ¿Hay otras condiciones en las que podría despertar del sueño antes de la hora?
- ¿Puede utilizarse para la comparación localtime retorno mal momento?
- ¿Es posible que haya algún tiempo hacer los ajustes internos (puede ser por la deriva del reloj interno, etc) lo que se traduce en el despertar del sueño de un segundo antes de lo previsto la hora local o haciendo algún tipo de ajuste por alguna razón?

Todo esto en cuanto a los insumos son apreciadas.

Gracias y Saludos,
NSV
  #2 (Enlace permanente)  
Old 06-29-2009
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Fecha: febrero 2004
Ubicación: NM
Mensajes: 5.794
¿Por qué no usar cron o al programar el código? Estos son diseñados para ejecutar comandos o secuencias de comandos en el momento justo.

Además, el sueño (1) no está garantizada para dormir exactamente un segundo.
  #3 (Enlace permanente)  
Old 06-30-2009
nsvora nsvora is offline
Usuario Registrado
  
 

Fecha: junio 2009
Publicaciones: 2
Hola Jim,
Gracias por la respuesta.
En realidad los hilos puede despertar en cualquier momento sobre la base de la agenda, por lo que la lógica era comprobar el tiempo que el hilo tiene que dormir para que su línea con intervalos de 30 minutos.

Con Atentamente,
nsvora
  #4 (Enlace permanente)  
Old 07-01-2009
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Fecha: febrero 2004
Ubicación: NM
Mensajes: 5.794
He intentado transmitir claramente:

Usted no puede garantizar EXACTAMENTE cuánto tiempo es el sueño. Usted tendrá que añadir alguna vertiente (factor chapuza) en su segundo cálculo de una manera u otra, que no va a funcionar perfectamente cada vez - ejemplo se supone que han POSIX conforme el tiempo - es decir., no hay salto segundos.:

Código:
calculate duration of sleep:
time_t how_long_to_sleep=1800;
how_long_to_sleep-= time(NULL) % 1800;
sleep(!how_long_to_sleep ? 1800 : how_long_to_sleep);

tiempo de prueba después de despertar:

Código:
time_t now=time(NULL);
now=now % 1800;
if( now < 2 && now > 1797)
   // sleep period ended close enough
else
  // sleep period is off by too much
fi

También puede probar usleep (valor) que tiene en ms granularidad más fina, pero de nuevo es el valor mínimo. Se puede ser más largo. Por ejemplo, una mayor prioridad que este trabajo se está ejecutando.
Reply

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 Apagado
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 05:51 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