Embora você não possa fazer com que seu aplicativo compilado feche a janela do terminal em que está sendo executado, é fácil fazer isso acontecer alterando a maneira como você executa seu programa.
Por exemplo, se seu aplicativo executável puder ser iniciado usando ./myprogramm
, você poderia simplesmente digitar o comando abaixo em seu terminal para executar primeiro myprogramm
e assim que terminar, execute o comando exit
para fechar o shell e com ele toda a janela do terminal:
./myprogramm ; exit
Ou talvez seja ainda melhor apenas fechar a janela do terminal se o aplicativo sair com êxito, sem nenhum erro (indicado por um código de status de saída diferente de 0). Você pode usar &&
em vez de ;
para executar o segundo comando somente se o primeiro comando for bem-sucedido:
./myprogramm && exit
Uma terceira alternativa seria substituir o shell em execução na sua janela de terminal com seu aplicativo, em vez de executar seu aplicativo dentro do shell. Dessa forma, a janela do terminal será fechada assim que o seu aplicativo sair e você não precisar mais sair do shell nesse ponto:
exec ./myprogramm
Uma grande diferença entre as duas primeiras abordagens ( ; exit
e && exit
) e a última usando exec
é que, no primeiro caso, você pode matar o comando que você executou apertando Ctrl + C e você estará de volta no shell, a janela permanecerá aberta. Se você usou exec
, isso também matará seu aplicativo, mas como não há mais shell dentro do qual ele está sendo executado, a janela do terminal será fechada imediatamente.