Como faço para matar um processo depois de separá-lo do bash?

4

Eu tenho vários scripts que desanexam um processo do bash usando nohup e &>/dev/null & . Minha pergunta é, como eu mato o processo depois de separá-lo completamente do bash. usar killall ou pidof ScriptName não funciona.

    
por Kookerus 07.07.2015 / 20:02

2 respostas

6

nohup só deve afetar o sinal de desconexão. Portanto, kill ainda deve funcionar normalmente. Talvez você esteja usando o pid ou nome do processo errado; compare com pstree -p ou ps -ef .

Se você ainda suspeitar de nohup , talvez você possa tentar disown .

$ sleep 1000 &
$ jobs -p
13561
$ disown
$ jobs -p
$ pidof sleep
13561
$ kill 13561
$ pidof sleep
$
    
por 07.07.2015 / 20:26
1

Se você usou nohup , não poderá matá-los. O comando nohup impede especificamente que esses processos recebam os sinais de eliminação. Se você simplesmente usou & , poderá eliminá-los enviando um kill ou kill -9 para o PID. Bem, você pode matá-los reiniciando a máquina, mas isso pode ser um pouco mais extremo do que você realmente deseja ...

    
por 07.07.2015 / 20:04