elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ejecutar commando y leer resultado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar commando y leer resultado  (Leído 2,321 veces)
alcatraz

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Ejecutar commando y leer resultado
« en: 14 Junio 2010, 17:33 pm »

Hola, ya se que para ejecutar un commando Linux desde C se puede hacer con system() o con execv(), pero no me interesa eso si no leer el resultado ya que se trata de una peticion OSCP para conocer el estado de unc ertificado.

El comando seria ago así:

Código:
'openssl ocsp -CAfile FICHEROCA -issuer FICHEROCASUBORDINADA -cert CERTIFICADO -url oscp.dnie.es'

Sólo se me ocurre redirigir la salida del comando a un fichero auxiliar y luego leer el contenido

Código:
comando > ficheroAuxiliar

pero no se si habrá una forma más directa o sencilla de hacer esto.
¿Alguna Idea? Gracias.


En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: Ejecutar commando y leer resultado
« Respuesta #1 en: 14 Junio 2010, 17:59 pm »

Podrías leer directamente desde el flujo de entrada de tu programa
esto lo consigues simplemente haciendo
Código
  1. File *fichero;
  2. fichero = stdin;
  3.  
a partir de alli puedes hacer cualqueir cosa que harias con un fichero , por ejemplo el
siguiente programa redirige la salida de dir al programa y le agrega una doble linea entre impresión e impresión
Código
  1. #include <stdio.h>
  2. #define MAX 50
  3.  
  4. int getLine(FILE *fichero , char s[], int lim){
  5. int c, i;
  6.  
  7. i=0;
  8. while(--lim > 0&&(c=fgetc(fichero))!=EOF && c!='\n')
  9. s[i++] = c;
  10. if(c=='\n')
  11. s[i++] = c;
  12. s[i]='\0';
  13. return i;
  14. }
  15.  
  16. int main(){
  17. FILE *fichero;
  18. fichero = stdin;
  19. char linea[MAX];
  20.  
  21. while((getLine(fichero , linea , MAX)) > 0){
  22. printf("\n=======================================================");
  23. printf("%s", linea); // imprime las lineas que encuentra en el flujo de entrada !
  24. }  
  25. }
  26.  

haciendo esto lo que podrias hacer es
comando | nombrePrograma

ya me dirás algo ....

de echo no tienes ni que declarar la variable fichero podrías hacer lo sigueinte y seguiria funcionando
Código
  1. while((getLine(stdin , linea , MAX)) > 0)
  2.  


« Última modificación: 14 Junio 2010, 18:18 pm por Didacso » En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
alcatraz

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: Ejecutar commando y leer resultado
« Respuesta #2 en: 14 Junio 2010, 19:30 pm »

Gracias, eso es otra forma de hacerlo pero creo que no se adecua a mi problema, ya que tengo un programa principal que genera varios hilos y en cada hilo quiero que lanze el commando con los datos de cada hilo, por lo que no me vale ejecutar el commando y pasar el resultado por un pipe a mi programa principal.

Lo haré redirigiendo la salida del commando a un fichero auxiliar, pero gracias de todas formas.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[PYTHON] Ejecutar commando despues de un socket
Scripting
RocKHounD 0 2,526 Último mensaje 3 Marzo 2012, 19:14 pm
por RocKHounD
leer y ejecutar
Scripting
nimpos 1 1,880 Último mensaje 15 Diciembre 2013, 19:34 pm
por Eleкtro
Ejecutar resultado servidor en PC Local « 1 2 »
GNU/Linux
zaico 14 6,073 Último mensaje 17 Mayo 2017, 14:25 pm
por engel lex
Puppeteer sharp - ejecutar función de javascript y obtener resultado de un div
.NET (C#, VB.NET, ASP)
bambu19 0 2,657 Último mensaje 14 Octubre 2020, 13:18 pm
por bambu19
MOVIDO: Puppeteer sharp - ejecutar función de javascript y obtener resultado de un div
Dudas Generales
MCKSys Argentina 0 2,373 Último mensaje 14 Octubre 2020, 13:34 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines