Me deparei com essa postagem do SO:
link
"Você matou o processo, mas um processo morto não desaparece da tabela de processos até que seu processo pai execute uma tarefa chamada" reaping "(essencialmente chamando wait (3) para que o processo leia seu status de saída). Processos inativos que não foram coletados são chamados de "processos zumbis".
Aqui está o meu processo extinto:
ps aux | grep ruby
1000 11958 16.3 0.0 0 0 pts/3 Z Jul11 1065:28 [ruby] <defunct>
Isso é o que deveria fazer:
RAILS_ENV=production bundle exec ruby lib/daemons/db_service_ctl start%
Basicamente, ele executa o processo de daemons do Rails. Eu queria reiniciá-lo, então tentei matá-lo, mas ele se recusou a morrer, e agora eu tenho um processo extinto.
Aqui está o processo pai:
ps -f 11958
UID PID PPID C STIME TTY STAT TIME CMD
1000 11958 11957 16 Jul11 pts/3 Z 1065:28 [ruby] <defunct>
O processo pai é 11957. O cmdline proc se parece com isto:
/proc/11957 $ cat cmdline
/bin/sh./script/db_service.sh%
Parece o mesmo script de shell que eu executei como o processo de daemons!
Então, como isso pode ser o processo pai também?