Como abrir um terminal usando c?

1. Como abrir um terminal usando c?

Ismael Felipe Ferreira dos santos
IsmaelSantos

(usa Ubuntu)

Enviado em 14/03/2020 - 23:32h

Olá, quero fazer um programa em c que abra um termial (pode ser bash por aprendizado mas o que quero mesmo é gnuplot) e envie comandos a esse terminal.

Tipo, o programa em c edita uma string, ai quero que esta string seja o comando a ser executado em um terminal aberto anteriormente.

O grande problema do system() é que ele fecha o terminal tão logo o comando é executado...

Alguém pode me ajudar?


  


2. Re: Como abrir um terminal usando c?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 16/03/2020 - 23:03h

Você pode tentar enviar uma série de comandos através de um pipe (ou de dois, se precisar também pegar a saída da aplicação a ser controlada, ou ainda três, se precisar também interceptar a saída de erro).

Se a aplicação não lidar bem com redirecionamentos ou exigir um terminal, você pode tentar abrir um pseudo-terminal (por exemplo, usando openpty() ou forkpty()), rodar o programa a ser controlado no pseudo-terminal criado, controlando-o pelo lado master do pseudo-terminal.

Se a aplicação for gráfica, o buraco é bem mais embaixo. Dependerá muito da aplicação e do ambiente em que ela estiver executando.


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts