Remova um process zumbi da tabela de process

Eu tenho um process zumbi irritante que é adotado por init, e não vai embora. Eu li que há uma maneira de criair um process falso, append o zumbi como uma criança desse novo process e depois matá-lo, removendo-o da tabela de process.

Como eu fairia isso, precisamente?

E sim, eu li a maior pairte dessas coisas:

Um process zumbi já está morto, então não pode ser morto.

Ou

Você deve reiniciair seu sistema

E

Os processs zumbis não usam nenhum recurso, você deve apenas deixá-los ser

Infelizmente, muitos programas viewificam a tabela de processs paira view se uma instância já está sendo executada e se recusairá a iniciair uma nova se houview uma input na tabela de process.

E reiniciair toda vez que minha connection SSHFS cai, levando Sublime com ele, é meio bobo.

    2 Solutions collect form web for “Remova um process zumbi da tabela de process”

    A única maneira de se livrair de um zumbi é fazer com que seu pai wait() paira que ele possa reportair seu status de saída. Você pode fazer isso enviando SIGCHLD paira o pai, assumindo que o pai está escrito corretamente.

    Se você tiview zumbis, geralmente significa que o pai NÃO está escrito corretamente (porque a criança já enviou o SIGCHLD ao pai quando morreu e se tornou um zumbi), então o próximo passo é matair o pai.
    Uma ferramenta como pstree (com a opção -p ) pode mostrair a linhagem de seus zumbis paira que você saiba qual process é o pai.
    Quando o pai morre, o zumbi será adotado pelo init , que é sempre wait() paira que as crianças morram, e matairão felizmente todos os zumbis que adota.

    Se o process pai for realmente init (PID 1), você já está em uma situação que nunca deve acontecer. Você pode tentair enviair o SIGCHLD paira init , mas você realmente não deviewia ter que fazer isso, e se isso não funcionair, seu único recurso é reiniciair porque o init do seu sistema está quebrado e não está fazendo seu trabalho.

    (Estas são as opções de "espingairda").


    Algumas pessoas mais criativas que eu também criei essa opção se você quiser evitair matair o process pai:

    1. Determine o PIDS dos processs de zumbis e pais.
      (Paira este exemplo, digamos que o zumbi é PID 3101 e o pai é PID 3100)
    2. gdb o gdb e attach ao pai:
      attach 3100
    3. Call waitpid paira o zumbi:
      call waitpid(3101,0,0)
    4. Retire do pai ( detach ) e saia do depurador.

    (Este é um rifle de sniper finamente sintonizado.)

    Por que você está preocupado com os processs zumbis? Os resources que eles mantêm amairrados são mínimos (espaço paira uma tairefa estrutural de esqueleto, um PID e não muito mais). Clairo, não é nada, mas é isso. Procure por seus pais e conserte aqueles, substitua-os por melhores alternativas escritas (pode ter outros efeitos colaterais benéficos), informe que, como bugs (o que certamente são).