Descartando um processo em segundo plano

2

Se eu iniciei um processo e ele gasta mais tempo do que eu esperava, e lamento não ter dito rm foo & em vez de rm foo , posso fazer algo para colocá-lo em segundo plano?

    
por Toothrot 13.07.2016 / 19:05

2 respostas

8

Em praticamente qualquer shell que você esteja usando, você deve ser capaz de pressionar control-Z para suspender o processo e, em seguida, usar o comando bg para retomá-lo em segundo plano.

por exemplo,

$ sleep 1000
^Z[1] + Stopped                  sleep 1000

$ bg
[1] sleep 1000&

$ jobs
[1] +  Running                 sleep 1000

$ 

Observe que alguns trabalhos (por exemplo, aqueles que solicitam a entrada do usuário) não serão executados em segundo plano e serão interrompidos, aguardando para serem trazidos de volta ao primeiro plano ( fg ).

(Existem são shells e situações em que isso não funciona, mas eles tendem a ser altamente especializados - por exemplo, sistemas incorporados - ou versões muito antigas do unix).

    
por 13.07.2016 / 19:10
1

Outra opção poderia ser o uso de screen ou tmux . Você pode desanexar sua sessão atual e continuar seu trabalho mais tarde, mesmo de outro sistema. O maior ganho é que a sessão é automaticamente desanexada quando a linha é desligada. Com tmux você pode até dividir a tela em painéis, alternando entre eles e reorganizando as partes com o mouse.

    
por 13.07.2016 / 22:24