
kilrathi
(usa Red Hat)
Enviado em 27/11/2024 - 12:40h
Achei que eu tinha encontrado a solução, até o SO ressucitar o PID.
Tenho um sistema que ocorre crashs. Até ai, tudo certo. Quando entra em crash, o PID dele morre e gera outro e tudo segue. O Caso é que, em algum momento, ocorre o crash e o PID fica pindurado.
Entao eu criei um script, que quando ocorre o pid, ele checa se ele realmente morreu. Se ele nao morreu logo em seguida, mata o PID. Estava indo bem, até o momento em que um pid morre e logo em seguida, aparece outro processo com o mesmo PID e nesse momento que vou ter que ignorar isso e tirar da lista dos que devem serem mortos. Tentando ver uma lógica para nao matar o pid. Tirar ele da lista dos que precisam serem mortos, caso ele tenha subido mais cedo.
Segue o Script atual:
TRECHO DO LOG crash:
serverlog processExit 1 000000dd44443828: 2024-11-20 12:20:29 SISCOM_ptb 34720 SBL-OSD-02011 Process 34720 exited whit error
TRECHO DO LOG QUE SOBE NOVO PID:
serverlog processExit 1 0000004556828: 2024-11-20 14:14:12 Created server process (OS pid = 34720 ) for SISCOM_PTB
SCRIPT:
tail -1111 /app/server/log/aquivo.log |grep SIGSEGV |awk '{print $8} > pid.txt
for i in cat pid.txt; do
if ps -p "$i" > /dec/null; then
echo Executando kill no pid $i;
fi;
done