• Sábado 21 de Diciembre de 2024, 10:55

Autor Tema:  cancelar salida de service network  (Leído 1583 veces)

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
cancelar salida de service network
« en: Viernes 22 de Mayo de 2009, 20:06 »
0
holaa todos:

tengo un pequeño programita en c que lo unico que hace es cambiarme la ip, el codigo es el siguiente:

Código: C
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3.  
  4. int main(int argc, char *argv[]){
  5.  
  6.         if(strcmp(argv[1],"s")==0){
  7.                 printf("Conectando con el servidor...n");
  8.                 system("su -c 'cat seth0 > /etc/sysconfig/network-scripts/ifcfg-eth0'");
  9.                 system("su -c 'service network restart'");
  10.         }
  11.         if(strcmp(argv[1],"i")==0){
  12.                 printf("Conectando a internet...n");
  13.                 system("su -c 'cat ieth0 > /etc/sysconfig/network-scripts/ifcfg-eth0'");
  14.                 system("su -c 'service network restart'");
  15.         }
  16.         return 0;
  17. }
  18.  
la cuestion aqui es como dice el titulo del post, como le hago para que service network restart no me reporte la salida,

pasar de esto:
Código: Text
  1. Conectando a internet...
  2. Interrupción de la interfaz eth0:                          [  OK  ]
  3. Interrupción de la interfaz wlan0:                         [  OK  ]
  4. Interrupción de la interfaz de loopback:                   [  OK  ]
  5. Activación de la interfaz de loopback:                     [  OK  ]
  6. Activando interfaz eth0:                                   [  OK  ]
  7. Activando interfaz wlan0:                                  [  OK  ]
  8. [Lair@localhost .scripts]$
  9.  
a esto:
Código: Text
  1. Conectando a internet...
  2. [Lair@localhost .scripts]$
  3.  

gracias a todos.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: cancelar salida de service network
« Respuesta #1 en: Viernes 22 de Mayo de 2009, 22:02 »
0
Cierra el STDOUT antes de ejecutar los comandos y abrelo nuebamente despues de ejecutar:
Código: C
  1. fclose(stdout);
  2. system( "..." );
  3. stdout = fopen ( "standard-output-file", "w" );
  4. printf( "Hechon" );
  5.  
  6.  
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
Re: cancelar salida de service network
« Respuesta #2 en: Viernes 22 de Mayo de 2009, 23:34 »
0
Hola su - :

gracias por contestar tan pronto, solo que despues de compilarlo y ejecutarlo nuevamente, me arroja el siguiente error

Código: Text
  1. [Lair@localhost .scripts]$ conexion i
  2. Conectando a internet...
  3. /etc/init.d/functions: line 497: echo: write error: Descriptor de fichero erróneo
  4. /etc/init.d/functions: line 497: echo: write error: Descriptor de fichero erróneo
  5. /etc/init.d/functions: line 413: echo: write error: Descriptor de fichero erróneo
  6. .
  7. .
  8. .
  9.  
NOTA: conexion es un alias.

gracias por la ayuda

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: cancelar salida de service network
« Respuesta #3 en: Sábado 23 de Mayo de 2009, 17:40 »
0
Hmm... en tonces te toca redirrecionar la salida de los comandos a /dev/null y no cerrar STDOUT.
Lo haces  de esta forma:
Código: Bash
  1. comando > /dev/null
  2.  
Y si no quieres ver ni los errores:
Código: Bash
  1. comando > /dev/null 2>&1
  2.  

PD: Cerrar el STDOUT no sirve, justamente ese es el error, echo no encuentra donde imprimir.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
Re: cancelar salida de service network
« Respuesta #4 en: Lunes 25 de Mayo de 2009, 17:48 »
0
gracias su - funciona a la perfeccion  :good: