A definição de um processo zumbi é um processo que termina a execução, mas ainda tem seu status de saída para reportar ao seu processo partentário (que aparentemente não está mais lá), por isso, o kernel irá mantê-lo no processo tabela, ele não está mais agendado para execução posterior, mas não pode ser removido e não permite que o PID seja reutilizado até que o status de saída seja determinado como não sendo necessário.
Então, por esta definição, se você "receber" o código de saída, você resolve o processo zumbi completamente. Você precisaria de um módulo do kernel que pudesse acessar as estruturas do kernel. Tipicamente, somente o pai ou init pode ler o valor de waitpid (), mas eu lembro de ler isso com kernels mais novos, há uma maneira de ter "controllers" de processos tomando o lugar do init, ie eles adotariam tais children, então se você don não se importaria de matar o pai ... isso seria uma maneira viável também.
Eu fui embora / proc para ver se há algo a ser extraído de lá, mas devido à natureza dos códigos de saída, isso não será representado lá ...