Re: Tareas en segundo plano

From: Jorge Servan <jservan(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Tareas en segundo plano
Date: 2011-09-20 21:16:12
Message-ID: CAEehbPHLqSf=wWm8+e3Vj4qowED8ubw+SHgZGjE_7uczQdcVGQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si estuvieras en Linux, bastaría con anteponer a la orden que deseas
ejecutar en segundo plano con el programa "nohup".
Continuando con el jemplo:
nohup psql -U user -c "select * from pepe " basededatos &

Este programa, que suele ser un script sh, configura la señal SIGHUP para
ignorarla. Esta señal es normalmente recibida por todo proceso cuando la
terminal de control asociada. Se le puede indicar al Sistema Operativo que
ignore la señal, pero lo normal es no indicarlo. Dado que lo normal es
dejarla por defecto, y su acción por defecto es finalizar el programa,
entonces se obtiene que por defecto se cerrarán todos los programas que has
lanzado bajo una terminal. Para evitar el efecto, sin alterar el programa,
se emplea el programa "nohup". "nohup" configura la señal para ser ignorada
en el shell antes de la ejecución de la orden. Todas las órdenes que se
lancen heredarán el estado de la señal.

Indicar por último que la salidas del programa, a menos que se redirijan a
otro fichero, se volcarán sobre un fichero denominado nohup.out, que se
creará en el directorio actual desde donde se lanzo la orden.

Espero haber aportado un granito de arena.

se puede bien, alterar el programa (programanado o configurándolo) o bien
hacer que el proceso padre, que el programa las órdenes que se desean
lanzar, sean lanzadas bajo un shell que ignora
lo lance tenga ya configurado

El 20 de septiembre de 2011 22:46, Espartano <espartano(dot)mail(at)gmail(dot)com>escribió:

> 2011/9/20 Juan <smalltalker(dot)marcelo(at)gmail(dot)com>:
> > Hola
> >
> > Te expando la idea anterior que esta bien,
> > Linux si es que trabajas en linux tiene la capacidad de mandar tareas
> > encolando procesos en lo que se podria llamar background.
> >
> > basicamente cualquier comando al shell terminado con & se procesa en
> > background
> > (devuelve el control para el sig comando instantaneamente aunque el
> comando
> > tarde semanas).
> > entonces deberias
> >
> > psql -U user -c "select * from pepe " basededatos &
> > y listo!!
> > salu2
> > dmc
> >
>
> El tema es que para algunas versiones de Unix (no recuerdo si es el
> caso de linux) se mantiene un id de session, aparte del id del proceso
> (PID), id del grupo (GID), etc, etc, entonces cuando cierras tu
> terminal como el id de session esta ligado a ella, los procesos hijos
> de ese ID de session mueren, te repito no se si es el caso de linux,
> tendrían que comprobar antes de lanzar en background un proceso y
> esperar a que se este ejecutando por días.
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan 2011-09-20 21:51:08 Re: Tareas en segundo plano
Previous Message Juan Manuel Acuña Barrera 2011-09-20 21:11:15 Re: Tareas en segundo plano