Depois de executar um comando no terminal, às vezes não consigo executar outro

7
Primeiramente, desculpe pela pergunta noob, tenho certeza de que foi perguntado antes, mas não tenho a menor idéia de como expressá-la com eloqüência ...

Às vezes, quando eu abro / executo / executo (inseguro de termo apropriado) uma aplicação (? lol) do terminal como geany ie:

geany filename.php

ou talvez execute um script node.js:

node server.js

O comando será executado corretamente, mas eu ficarei sem a capacidade de executar qualquer outro comando, a menos que eu abra outro terminal. meu root@pcname:~$ se foi e quando eu tento digitar outra coisa e pressiono Enter, ele é interrompido na próxima linha.

Eu notei que às vezes eu posso pressionar CTRL + D e ele me retornará o prompt (desculpe, será necessário até mesmo o nome certo para ele?)

Então, alguém poderia explicar por que isso está acontecendo e como eu posso voltar ao prompt sem abrir outro terminal.

Obrigado, e desculpe novamente pela minha noobery.

    
por jreed121 13.04.2012 / 03:34

4 respostas

3

Ah, você está apertando a tecla errada. É Control + C. Este é o comando para forçar o aplicativo em execução no terminal a terminar. Se você finalizar o comando, ele também encerrará o aplicativo aberto correspondente. Então, se você quer executar mais comandos no mesmo terminal, você tem que pressionar Control + C para sair do programa, que também irá sair geany. Portanto, é melhor simplesmente executar programas através da GUI, economizando muitas janelas de terminal. Ou você também pode usar a função de comando de execução do Ubuntu pressionando Alt + F2 e digitando o comando que deseja executar, sem terminal necessário.

    
por William 13.04.2012 / 03:38
10

Se o que você está realmente tentando fazer é iniciar um programa gráfico a partir do terminal, você pode preferir algo como

geany filename.php &

que irá iniciar em segundo plano, já que não precisa do terminal para nada. Isso também pode funcionar para o aplicativo node.js , se não precisar do terminal para nada.

Se eles ainda estiverem funcionando quando você fechar o terminal, ele vai reclamar. Se você realmente quiser que eles permaneçam após o terminal, use disown .

    
por geekosaur 13.04.2012 / 03:53
5

Depois de iniciar um processo (job), você ainda pode fazer outras coisas. Você pode querer escrevê-las como uma folha de dicas.

  1. Ctrl + c Elimine o processo em execução (trabalho em primeiro plano)
  2. Ctrl + z Pausa o processo em execução (trabalho em primeiro plano) e retorna ao prompt
  3. Digite jobs Mostra todos os trabalhos em segundo plano no terminal
  4. Tipo bg Faz com que o último trabalho pausado continue em segundo plano
  5. Tipo fg Retorna o último trabalho de pausa para o primeiro plano

Você também pode digitar bg ou fg com um número depois, como fg 3 . Isso trará o trabalho 3 para o primeiro plano.

Se você estiver indo para um processo em segundo plano, e não quiser que ele exiba um monte de texto, apenas coloque > filename.txt depois, como process > out.txt . Isso fará com que ele envie toda a saída padrão para o arquivo out.txt (e não atravancará seu terminal).

Se você usa terminais frequentemente (como eu :), então você definitivamente quer instalar e se familiarizar com o programa terminal chamado screen . Ele permite que você tenha múltiplos terminais virtuais em uma janela, e se você fechar a janela do terminal (por acidente?), Você pode reabri-lo exatamente de onde parou antes.

    
por Sepero 13.04.2012 / 05:09
0

eu uso geany para tcl / tk. Se você abrir o geany, procure pelo ícone "build". Ele permitirá que você crie comandos para serem iniciados com um clique do mouse. clique no ícone, em seguida, defina os comandos de compilação e edite a entrada de execução para algo assim: sh% f & amp; & amp; Saída você pode ter que ajustá-lo às suas necessidades. substitua sh por qualquer que seja o seu código. você deve usar 2 amperstands também. ele abre um terminal e executa o script gui. Quando eu terminar de examinar o gui que estou criando, eu fecho a janela do terminal que mata o gui script. Ele também remove as limitações do terminal interno. mas, infelizmente, você ainda tem que fechar o terminal para obter uma ardósia limpa.

    
por user116272 17.10.2015 / 06:05