Como posso me livrar da bomba do garfo?

1

Eu tentei o código do fork fork:

:(){:|:&};:

e fechou o PuTTy. Agora não está aceitando as novas conexões (ataque de negação de serviço).

Como posso me recuperar disso?

    
por Paresh Zawar 25.08.2015 / 11:32

3 respostas

3

Pode ser necessário reiniciar o computador com força.

Supondo que você tenha acesso ao console, você pode tentar obter o ID do grupo de processos (PGID) e eliminá-lo com:

kill -- -PGID

Ou use SIGKILL em vez de SIGTERM :

kill -9 -- -PGID

mas pode não ser possível obter o PGID praticamente porque o sistema já pode estar ocupado pelos processos bifurcados criando um deadlock.

Esse impasse pode acontecer quando você não tem um limite suficiente no número de processos que um usuário ou grupo pode ter, então é melhor definir um limite inferior antes de tentar algo destrutivo como uma fork-bomb. / strong>

    
por heemayl 25.08.2015 / 12:00
3

Você usou o clássico "fork fork" para usar todos os processos do seu sistema, e agora você não pode fazer o sistema executar um processo para ajudá-lo (e todos os comandos, programas, etc. exigem que um processo seja executado) dentro"). Qualquer intervenção terá que vir de fora do sistema (por exemplo, redefinir a VM, desligar a energia, CtrlAltDelete). Você não entendeu o que diz o código?

:(){:|:&};:

:()  

Defina uma função de shell, chamada ":".

   {

Comece a definição da função, que é:

      :

Chame a função ":".

       |  

canaliza a saída de ":"

        :  

para outra chamada para ":"

         &

Bifurque um processo para colocar o pipeline ( :|: ) em segundo plano.

          } 

Fim da definição da função ":"

           ;

Fim da instrução shell definindo a função ":"

            : 

Chame a função ":" para começar.

Se você executar um código sem entendê-lo, aceita os resultados do código.

    
por waltinator 25.08.2015 / 20:55
0

Se você não puder se conectar novamente, não terá chance. Talvez você possa esperar por um out of memory error

Se você pode se conectar, tente o comando abaixo

pkill -f :

E como você disse em seus comentários

  

Estou executando na caixa Virtual

Redefina a máquina via VirtualBox.

    
por A.B. 25.08.2015 / 12:01