Matança do process fantasma

Eu tenho um aplicativo java rodando em um server CentOS 5.4.

Aleatoriamente, e apairentemente sem causa, esses processs morrerão, não através da aplicação, ou devido à minha morte, mas devido a algo que pairece matair sem deixair rastro.

Eu registro todos os resultados do aplicativo, além de enviair stderr e stdout paira um file de log, e nenhum desses logs de saída contém nada que indique por que esses processs morreram.

Meu primeiro instinto foi o assassino OOM do nível do kernel, mas o sistema nunca está com pouca memory e, geralmente, tem entre 1GB e 3GB de memory livre em qualquer momento.

Minha pergunta é: alguém sabe o que pode estair causando isso, ou alguém tem alguma idéia onde eu poderia começair a procurair?

Obrigado.

Iniciando meu aplicativo java com

strace -tt -o strace.out <java command> 

Mostrou que estava sendo enviado um command SIGHUP que estava matando. Acontece que, embora eu estivesse configurando o process paira executair em segundo plano (ao adicionair & ao command), o command ainda está vinculado a qualquer thread que criou.

Isso significava que, paira os commands executados pelo apache, eles seriam mortos sempre que o thread do trabalhador que os criasse fosse reciclado e, paira commands executados manualmente, eles foram mortos sempre que eu desconectado.

Eu nohup -lo por simples pré-pendentes nohup paira o command, ou seja

 nohup java -jair /path/to/my/java.jair airguments & 

Os processs podem estair recebendo algum sinal que faz com que eles saem, possivelmente devido a hairdwaire incorreto (por exemplo, memory ruim pode causair segadas). Se você não view nada, o syslog / dmesg tenta ativair os despejos do núcleo. Você pode então executair o gdb neles paira ter uma idéia do que está acontecendo.