Como manter o terminal aberto após a execução de um programa em C?

2

Estou tentando executar um programa em C a partir de um código python.

cmd = 'gnome-terminal --command=./myprog'
subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)

O código é executado e o terminal é fechado.

Eu quero manter o terminal aberto após a execução ser concluída sem ter que adicionar nenhum código extra no arquivo C, por exemplo, solicitar ao usuário alguma entrada.

Existe uma solução para isso?

    
por Pallab Pain 27.04.2015 / 00:58

3 respostas

3

Para manter o terminal aberto até que uma tecla seja pressionada:

gnome-terminal -- bash -c "ls && read"

Para manter o terminal aberto até exit :

gnome-terminal -- bash -c "ls && bash"

Substitua ls pelo comando que você deseja executar (seu arquivo executável compilado).

Nota

Se -- não funcionar, tente a abordagem antiga (reprovada) -x :

gnome-terminal -x bash [...]
    
por 27.04.2015 / 16:13
0

Desde que você começou com o Python, tente isto:

import time
#Your Code here
time.sleep(5) # delay for 5 seconds 
    
por 27.04.2015 / 08:49
0

Eu não posso ter certeza 100% desde que eu estou em um Mac sem uma configuração Gnome, mas isso deve funcionar: adicione ; read ao seu comando para ser executado, então depois de executar o comando você precisa pressionar Enter antes fechando a janela:

cmd = 'gnome-terminal --command="./myprog ; read"'
subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)

Eu testei isso com o xterm ao invés do gnome-terminal, ele funciona lá.

    
por 27.04.2015 / 09:37