Se sim ping google.com &
, o processo entra em segundo plano e continua me mostrando os detalhes do ping. Ainda posso usar o terminal com outros comandos, mas a saída do ping e a saída de outros comandos se confundem (o que não é um problema), mas não consigo finalizar esse processo de ping.
Para isso, quero trazê-lo para o primeiro plano e pressione ctrl + c ou algo assim. Eu tentei usar fg
, mas também não funcionou. Então, como faço ping google.com &
para voltar ao primeiro plano depois de pressionar a tecla Return no final do meu comando ping?
command-line
job-control
posixKing
fonte
fonte
jobs
para encontrar o IDjid
da tarefa do processo em segundo plano e faça-o apenaskill %jid
para matá-lo.Respostas:
fg
é o comando correto para o primeiro plano de um trabalho, mas se houver mais de um trabalho em execução, você deverá especificar o número do trabalho. Se você digitar apenasfg
, o último trabalho em segundo plano (considerado o trabalho atual pelo shell) será trazido para primeiro plano.Obtenha os trabalhos atuais:
Primeiro plano do trabalho, especificando o número:
O comando pode ser dividido pela saída do processo em execução, mas ainda funcionará, você pode ignorar a interrupção.
Em seguida, pressione ctrl+ cpara interromper e parar o processo
Conforme mencionado em um comentário, você também pode enviar sinais pelo número do trabalho, por exemplo
kill %1
Para garantir a integridade, se você não usou o
&
no momento de chamar o processo, pode enviá-lo para o segundo plano congelando primeiro com ctrl+ ze digitandobg
fonte
fg
sem argumento parece funcionar também, pelo menos quando apenas um trabalho em segundo plano.Para responder à pergunta, como enviar a saída de um processo para segundo plano e primeiro plano? , o
tee
comando fará:Na computação, tee é um comando em interpretadores de linha de comando (shells) usando fluxos padrão que lê a entrada padrão e a grava na saída padrão e em um ou mais arquivos, duplicando efetivamente sua entrada. https://en.wikipedia.org/wiki/Tee_(command)
fonte