RE: OT: redireccionar stderr a otro proceso
Perdón, por lo que veo, me dejé muchas cosas en el tintero. Estoy programando en C++, y necesito llamar a useradd y redirigir los posibles errores que me pueda dar a otro proceso. Lo que dice ga suena interesante: Si solo quieres recoger errores, en el proceso hijo no tienes más que cerrar el descriptor de salida estándar de errores, duplicarlo, y en el proceso padre leer de ese descriptor. Voy a probar esto y luego os comento...
OT: redireccionar stderr a otro proceso
Hola lista, perdón por el OT. Necesito redireccionar el error estándar de un proceso a otro. Desde un proceso (padre) hago un fork y creo otro proceso (hijo). Estos dos procesos, los comunico entre si mediante una tubería que creo en el proceso padre. Dentro del proceso hijo, hago un execvp y necesito que los errores que se producen al ejecutar execvp me los redirija a través de la tubería hacia el proceso padre. El proceso padre estaría escuchando en el otro lado de la tubería los errores que le mandaría el proceso hijo. Vosotros sabéis como se podría hacer eso? Gracias de antemano.
Re: OT: redireccionar stderr a otro proceso
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 César Bermejo Martínez wrote: Hola lista, perdón por el OT. Necesito redireccionar el error estándar de un proceso a otro. Desde un proceso (padre) hago un fork y creo otro proceso (hijo). Estos dos procesos, los comunico entre si mediante una tubería que creo en el proceso padre. Supongo que querrás recoger tanto la entrada estándar como los errores. Creo que la mejor forma de chequear los 2 descriptores a la vez es usando la función select. Echa un vistazo a man select, al final viene un ejemplo muy sencillo y claro. Dentro del proceso hijo, hago un execvp y necesito que los errores que se producen al ejecutar execvp me los redirija a través de la tubería hacia el proceso padre. Si solo quieres recoger errores, en el proceso hijo no tienes más que cerrar el descriptor de salida estándar de errores, duplicarlo, y en el proceso padre leer de ese descriptor. Seguimos en privado si quieres. El proceso padre estaría escuchando en el otro lado de la tubería los errores que le mandaría el proceso hijo. Vosotros sabéis como se podría hacer eso? Gracias de antemano. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDDczwR/FJErz2vpwRAh5xAJ9cL9yP3eehenn7tkJ9/IDPUY7eGgCfbOie k2veaPD7XAOHLoCH3bhNC50= =id2Z -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: OT: redireccionar stderr a otro proceso
On 8/25/05, César Bermejo Martínez [EMAIL PROTECTED] wrote: Hola lista, perdón por el OT. Necesito redireccionar el error estándar de un proceso a otro. Desde un proceso (padre) hago un fork y creo otro proceso (hijo). Estos dos procesos, los comunico entre si mediante una tubería que creo en el proceso padre. Dentro del proceso hijo, hago un execvp y necesito que los errores que se producen al ejecutar execvp me los redirija a través de la tubería hacia el proceso padre. El proceso padre estaría escuchando en el otro lado de la tubería los errores que le mandaría el proceso hijo. Vosotros sabéis como se podría hacer eso? Lo mas sensato seria hacer un programa que execute todo lo que necesitas y que oiga a todas las salidas para actuar en consecuencia. O sea, el padre deberia ser ese programa, y hacer todo por su cuenta, todo el movimiento de tubos que mencionas suena a que ya pasaste las capacidades del shell para redirigir salidas Saludos Max -- Linux garaged 2.6.9-rc1-mm1 #3 SMP Mon Aug 30 12:14:50 CDT 2004 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux -BEGIN GEEK CODE BLOCK- Version: 3.12 GS/S d- s: a-29 C++(+++) ULAHI+++ P+ L+ E--- W++ N* o-- K- w O- M-- V-- PS+ PE Y-- PGP++ t- 5- X+ R tv++ b+ DI+++ D- G++ e++ h+ r+ z** --END GEEK CODE BLOCK-- gpg-key: http://garaged.homeip.net/gpg-key.txt
Re: OT: redireccionar stderr a otro proceso
¿en qué lenguaje quieres hacer esto? ¿los procesos los lanzarás tú o ya están lanzados? garaged escribió: On 8/25/05, César Bermejo Martínez [EMAIL PROTECTED] wrote: Hola lista, perdón por el OT. Necesito redireccionar el error estándar de un proceso a otro. Desde un proceso (padre) hago un fork y creo otro proceso (hijo). Estos dos procesos, los comunico entre si mediante una tubería que creo en el proceso padre. Dentro del proceso hijo, hago un execvp y necesito que los errores que se producen al ejecutar execvp me los redirija a través de la tubería hacia el proceso padre. El proceso padre estaría escuchando en el otro lado de la tubería los errores que le mandaría el proceso hijo. Vosotros sabéis como se podría hacer eso? Lo mas sensato seria hacer un programa que execute todo lo que necesitas y que oiga a todas las salidas para actuar en consecuencia. O sea, el padre deberia ser ese programa, y hacer todo por su cuenta, todo el movimiento de tubos que mencionas suena a que ya pasaste las capacidades del shell para redirigir salidas Saludos Max -- // //Rober Morales Chaparro // #include /* RMC'05 */ iostream class saludo { public: saludo(){ std::cout hola; } ~saludo() { std::cout mundo! ; } } ; int main() { saludo holamundo; } -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: OT: redireccionar stderr a otro proceso
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Jau Rober Morales wrote: ¿en qué lenguaje quieres hacer esto? ¿los procesos los lanzarás tú o ya están lanzados? A la 2ª te respondo yo: Desde un proceso (padre) hago un fork y creo otro proceso (hijo). Dentro del proceso hijo, hago un execvp y necesito que los errores que se producen al ejecutar execvp me los redirija Creo que está claro. Estaría bien que comentara en qué lenguaje, jeje. garaged escribió: On 8/25/05, César Bermejo Martínez [EMAIL PROTECTED] wrote: Hola lista, perdón por el OT. Necesito redireccionar el error estándar de un proceso a otro. Desde un proceso (padre) hago un fork y creo otro proceso (hijo). Estos dos procesos, los comunico entre si mediante una tubería que creo en el proceso padre. Dentro del proceso hijo, hago un execvp y necesito que los errores que se producen al ejecutar execvp me los redirija a través de la tubería hacia el proceso padre. El proceso padre estaría escuchando en el otro lado de la tubería los errores que le mandaría el proceso hijo. Vosotros sabéis como se podría hacer eso? Lo mas sensato seria hacer un programa que execute todo lo que necesitas y que oiga a todas las salidas para actuar en consecuencia. O sea, el padre deberia ser ese programa, y hacer todo por su cuenta, todo el movimiento de tubos que mencionas suena a que ya pasaste las capacidades del shell para redirigir salidas Saludos Max -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDDfjyR/FJErz2vpwRAj0QAJ0Z2NjmrP/u9c8kJNpnnyv2BiEI0QCfagOp ICTxPdFvbtycTtvs6vWa3EE= =slpo -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]