[Process completed]
é o que o Terminal grava no terminal quando a sessão do terminal termina, ou seja, não há mais processos associados ao tty. Isso indica que seu programa foi encerrado e você não iniciou a sessão de terminal a partir de um shell interativo.
Existem várias maneiras de executar um comando no Terminal sem interagir manualmente com um shell, incluindo:
-
Escolha o Shell > Novo comando e insira um comando. Deixe a caixa de seleção Executar comando dentro de um shell desmarcada. Seu programa será executado diretamente sem um shell. Se você abrir a janela do Inspetor e olhar para o painel de informações, verá que a lista de processos lista apenas "login" e seu comando, mas nenhum shell.
-
Abra um arquivo
*.command
do Finder. O terminal iniciará um shell e o instruirá a executar o arquivo de comando e sair. Você verá um prompt de shell seguido de um comando parecido com:/path/to/your/file.command ; exit;
. Novamente, se você olhar para o Inspector, a lista de processos incluirá “login”, seu shell e seu executável de comando. (Isso também acontece quando você seleciona Executar comando dentro de um shell no painel Novo comando ).
Parece que você está usando o # 2. Não há como alterar seu programa para que o shell permaneça interativo após a saída do seu programa; No entanto, existem algumas maneiras indiretas de o Terminal executar um comando e deixar você com um shell interativo:
-
Crie um perfil de configurações que execute seu comando em um shell interativo:
- Em Preferências > Configurações duplicam o perfil padrão usando o menu ação (engrenagem) na parte inferior da lista de perfis.
- Vá para o painel Shell e selecione comando Executar: .
- Insira o nome do caminho em seu arquivo de comando.
- Selecione Executar dentro do shell .
- Exporte o perfil de configurações para um arquivo
*.terminal
, com o comando Exportar no menu de ação ou arrastando-o da lista de perfis para o Finder.
Em seguida, sempre que você quiser criar um novo shell que comece executando o programa, abra o arquivo
*.terminal
. Você também pode simplesmente abrir um novo terminal com esse perfil a partir do Terminal, usando o Shell > New Window [ou Tab], ou clicando duas vezes no perfil na lista de perfis. -
Escreva um AppleScript que direcione o Terminal para executar seu comando, como se você tivesse digitado na linha de comando. Você pode então armazenar o script no menu Script de todo o sistema e chamá-lo de lá, ou pode salvar o script como um aplicativo que pode ser executado. O script ficaria assim, por exemplo:
tell application "Terminal" activate do script "/path/to/your/file.command" end tell