[perl] Llamar a otros scripts
Gunnar Wolf
gwolf@campus.iztacala.unam.mx
Mon, 5 Apr 1999 21:18:53 -0500 (CDT)
> Hay alguna forma de verificar que dicho programa se ejecute solo si fue
> llamado por otro??? y por ende que no se pueda ejecutar por si solo.
>
> Para mas claridad:
>
> Tengo uno.pl que llama a dos.pl y a tres.pl
>
> Para que funcione tres.pl _necesito_ que se corra antes dos.pl, por ello
> no me sirve (de hecho se hace un desm...e) que se corra tres.pl sin antes
> haberse ejecutado dos.pl, me explico?
>
> Hay alguna forma de checar (dentro de dos.pl y de tres.pl)
>
> if (me ejecuto uno.pl) {
> sigue el programa
> } else {
> manda mensaje diciendo que debe ser ejecutado por medio de uno.pl
> }
Umm... Pues lo unico que se me ocurre, dado que son procesos
independientes y seria tal vez demasiado complicarse hacerte un esquema
real de comunicacion entre ellos tan solo para esto, es implementar locks
por medio de archivos, de modo que cuando corras uno.pl te genere un
archivito, p.ej., /etc/ya_corri_uno.pl_2035_05041999 - Los numeros? Nada,
se me ocurrio que si algun archivo viejo no fue eliminado, puedes
verificarlo y poner un tiempo maximo de expiracion - Con mi esquemita, ahi
dice que lo corriste a las 20:35 del 5 de abril de 1999 - Puedes pedirle a
dos.pl o tres.pl que si la diferencia es mayor a tantos minutos, haga como
si este archivo no existiera. Claro, ya que dos.pl corrio, borra este
archivo para evitar futuras discrepancias.
Un par de notas mas: Por que en /tmp? Varias razones:
- Es un lugar donde todo mundo puede (o debe poder) escribir
- En muchos sistemas Unix, este directorio se limpia solito - tras unos
diez dias, los archivos que estaban ahi desaparecen solos
- Es mas logico que los archivos temporales esten en /tmp, si no requieres
una aplicacion que se configure para cada usuario y se guarde en su home o
algo similar.
Espero que te sirva de algo.
Salu!
-------------------------------------------------------------------
Gunnar Wolf gwolf@campus.iztacala.unam.mx tel. 5623-1118
Universidad Nacional Autonoma de Mexico, Campus Iztacala
Jefatura de Seccion de Sistemas y telecomunicaciones
-------------------------------------------------------------------
There are two major products to come out of Berkeley: LSD and UNIX.
We do not believe this to be a coincidence.
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : cancelacion perl