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
Ir a la versión completa