Como retornar uma tarefa em segundo plano para estar em primeiro plano?

3

Bem, o título não diz muito, mas eu gostaria de saber como parar um processo após anexá-lo com & .

Por exemplo, gostaria de instalar o software foo . Agora, suponha que foo tenha muitas dependências, leva uma hora para ser concluído. Então, eu faço: yum install foo & . Mas gostaria de interromper esse processo em curso, colocando-o em primeiro plano (a premissa real da minha pergunta) para poder interrompê-lo ou por meio de outros métodos, se necessário.

O Ctrl + C não parece parar isto.

    
por robue-a7119895 29.09.2014 / 21:55

4 respostas

6

Se o terminal em que você iniciou o comando ainda estiver aberto, você poderá recuperá-lo executando fg .

Se não estiver, identifique o ID do processo executando ps aux | grep yum ou apenas pgrep yum e, em seguida, use kill PID . Ou, se você sabe que tem apenas uma yum instance, execute pkill yum .

    
por 29.09.2014 / 21:57
3

Se você estiver no mesmo shell, sempre poderá forçar esse processo com fg (se o seu shell suportar) nesse ponto, você poderá executar sua Ctrl + C .

Como outros já mencionaram, você pode usar uma grande variedade de opções ps e kill .

Se você quiser, pode até usar top e filtrar para seu nome de usuário e matar dessa maneira.

    
por 29.09.2014 / 22:28
2

Tente isto:

kill -QUIT 'pidof yum'

Isso irá parar, encerrar este processo. Pode ser necessário usar alguma força melhor que QUIT signal, então tente TERM e depois tente KILL .

Você também pode ser um pouco mais preguiçoso e fazer isso:

killall -QUIT yum

Isso atingirá todos os processos denominados yum .

    
por 29.09.2014 / 22:00
0

A combinação de teclas que você está procurando não é

ctrl - c

você usa isso quando você interrompe o processo (equivalente a usar ctrl - c )

Se você ctrl - z você colocaria o trabalho em segundo plano, similar ao uso de & no final.

No entanto, desta forma você seria capaz de trazer o processo de volta ao primeiro plano usando fg

Alternativamente, você pode procurar o pid usando pidof como mencionado por Scyld

    
por 29.09.2014 / 22:51