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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ejecutar comando en C++ sin system()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar comando en C++ sin system()  (Leído 3,339 veces)
alpachino98

Desconectado Desconectado

Mensajes: 37


Valar Morghulis


Ver Perfil
Ejecutar comando en C++ sin system()
« en: 9 Febrero 2019, 14:02 pm »

Hola, quisiera saber como ejecutar un comando en un terminal sin usar system(), ya que según tengo entendido es una llamada al sistema operativo y no es una buena practica. Quisiera saber como se hace tanto en POSIX como en windows. Como ultima duda, aunque no tenga nada que ver,  me gustaría saber cuantos hilos te permiten los SO usar como máximo o partir de cuantos hilos deje de ser contraproducente. Gracias.


En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: Ejecutar comando en C++ sin system()
« Respuesta #1 en: 9 Febrero 2019, 23:06 pm »

Normalmente no se tira de llamadas a comandos internos del sistema, queda feo, y se recurre al api, sea el sistema que sea. Por ejemplo para linux tienes la función syscall http://manpages.ubuntu.com/manpages/bionic/es/man2/intro.2.html


En línea

digimikeh

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: Ejecutar comando en C++ sin system()
« Respuesta #2 en: 10 Febrero 2019, 00:47 am »

Yo entiendo que queda feo, pero es práctico, a mi no me quedó mas remedio que recurrir a ncurses y al System...   es decir, como ultimo recurso, que mas da?... en el amor, la guerra y la programación todo se vale  ;D
En línea

Dungeons & dragons;
dragons.Attack();
srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: Ejecutar comando en C++ sin system()
« Respuesta #3 en: 10 Febrero 2019, 01:15 am »

Es inseguro, puede darte problemas, etc... es feo, y claro, puedes hacerlo así para salir del paso, porque no tienes tiempo para repasar la documentación, etc... pero eso cada uno como lo vea  :-\
En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Ejecutar comando en C++ sin system()
« Respuesta #4 en: 11 Febrero 2019, 22:58 pm »

1- Como te han dicho antes el uso de system() no es recomendado. La funcion system() lo que hace es crear una instancia de la consola de comandos de windows y pasar por parametro la cadena que pasas al llamarla para ser ejecutado como un comando mas del sistema operativo. Todos los motivos que te ha dado srWhiteSkull  son validos.

2- En cuanto a windows, cada aplicacion podria crear hasta 2000 hilos (con un tamaño de pila estandar). El tamaño de pila estandard es de 1MB por cada hilo, asi que si tienes 2000 hilos tienes los 2GB de espacio de direcciones permitidos por windows para cada aplicacion user-mode. En cuanto a linux puedes leer por aqui:
https://stackoverflow.com/questions/344203/maximum-number-of-threads-per-process-in-linux

Saludos
En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejecutar programa con System
Scripting
raivoes 4 6,431 Último mensaje 10 Diciembre 2009, 15:14 pm
por raivoes
Ejecutar funcion System() sin retorno
Programación C/C++
x64core 4 4,378 Último mensaje 15 Septiembre 2011, 17:50 pm
por x64core
ejecutar Comando linux con "System" que requiera de respuesta
Scripting
Danick 0 1,689 Último mensaje 21 Octubre 2013, 18:01 pm
por Danick
Medir tiempo que tarda un comando en ejecutarse (y ejecutar el comando)
GNU/Linux
ccrunch 2 3,745 Último mensaje 2 Diciembre 2014, 00:59 am
por MinusFour
duda sobre comando system
Programación C/C++
Unvoid 4 3,505 Último mensaje 27 Octubre 2020, 16:21 pm
por Unvoid
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines