Sistemas Operativos > GNU/Linux

 cancelar salida de service network

(1/1)

lair:
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 ---#include<stdlib.h>#include<stdio.h> int main(int argc, char *argv[]){         if(strcmp(argv[1],"s")==0){                printf("Conectando con el servidor...n");                system("su -c 'cat seth0 > /etc/sysconfig/network-scripts/ifcfg-eth0'");                system("su -c 'service network restart'");        }        if(strcmp(argv[1],"i")==0){                printf("Conectando a internet...n");                system("su -c 'cat ieth0 > /etc/sysconfig/network-scripts/ifcfg-eth0'");                system("su -c 'service network restart'");        }        return 0;} 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 ---Conectando a internet...Interrupción de la interfaz eth0:                          [  OK  ]Interrupción de la interfaz wlan0:                         [  OK  ]Interrupción de la interfaz de loopback:                   [  OK  ]Activación de la interfaz de loopback:                     [  OK  ]Activando interfaz eth0:                                   [  OK  ]Activando interfaz wlan0:                                  [  OK  ][Lair@localhost .scripts]$ a esto:

--- Código: Text ---Conectando a internet...[Lair@localhost .scripts]$ 
gracias a todos.

su -:
Cierra el STDOUT antes de ejecutar los comandos y abrelo nuebamente despues de ejecutar:

--- Código: C ---fclose(stdout);system( "..." );stdout = fopen ( "standard-output-file", "w" );printf( "Hechon" );  

lair:
Hola su - :

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


--- Código: Text ---[Lair@localhost .scripts]$ conexion iConectando a internet.../etc/init.d/functions: line 497: echo: write error: Descriptor de fichero erróneo/etc/init.d/functions: line 497: echo: write error: Descriptor de fichero erróneo/etc/init.d/functions: line 413: echo: write error: Descriptor de fichero erróneo... NOTA: conexion es un alias.

gracias por la ayuda

su -:
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 ---comando > /dev/null Y si no quieres ver ni los errores:

--- Código: Bash ---comando > /dev/null 2>&1 
PD: Cerrar el STDOUT no sirve, justamente ese es el error, echo no encuentra donde imprimir.

lair:
gracias su - funciona a la perfeccion  :good:

Navegación

[0] Índice de Mensajes

Ir a la versión completa