Como posso retomar um trabalho parado no Linux?

299

Como posso retomar um trabalho interrompido no Linux? Eu estava usando o emacs e acidentalmente acertei o ctrl-z, que me levou de volta ao console. Eu posso ver quando digito 'jobs'

[*****]$ jobs
[1]+  Stopped                 emacs test_queue.cpp
    
por Bobby 08.04.2011 / 11:38

5 respostas

337

O comando fg é o que você deseja usar. Você também pode fornecer um número de trabalho se houver mais de um trabalho interrompido.

    
por 08.04.2011 / 11:39
232

Os comandos gerais de controle de tarefas no Linux são:

  • jobs - lista os trabalhos atuais
  • fg - retome o trabalho que está próximo na fila
  • fg% [number] - retomar o trabalho [número]
  • bg - Empurra o próximo trabalho na fila para o plano de fundo
  • bg% [number] - Pressione o trabalho [número] para o plano de fundo
  • kill% [number] - mata o trabalho numerado [número]
  • kill - [sinal]% [número] - Envia o sinal [sinal] para o número do trabalho [número]
  • rejeitar% [number] - rejeitar o processo (nenhum terminal mais será proprietário), então o comando estará ativo mesmo depois de fechar o terminal.

Isso é praticamente todos eles. Observe o% na frente do número do trabalho nos comandos - isso é o que diz que você está falando sobre tarefas e não processos.

    
por 08.04.2011 / 13:55
44

Você também pode digitar %<process_name> ; ou seja, você pressiona Ctrl-Z no emacs, então você pode digitar %emacs no console e trazê-lo de volta para o primeiro plano.

    
por 26.08.2013 / 23:04
29

Apenas para adicionar as outras respostas, bash permite pular o fg se você especificar um número de trabalho.

Por exemplo, são equivalentes e retomam o trabalho mais recente:

%
%%
fg
fg %

Este trabalho de currículo # 4:

%4
fg 4
    
por 08.04.2011 / 16:03
14

Se você não o iniciou a partir do terminal atual, use ps aux | grep <process name> para encontrar o número do processo (pid) e, em seguida, retome-o com:

kill -SIGCONT <pid>
    
por 04.02.2016 / 20:49