Tente
strace -p 14229
Eu imprimo cada syscall que o processo invoca. Então você vê o que o processo realmente faz.
Depois de um mau desempenho hoje, verifiquei top
:
1 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14229 myuser 20 0 8776 5264 1684 R 99 0.2 1383:47 bash
98-100% de uso por um processo de Bash que deveria ter morrido há muito tempo (acabei de fechar todos os terminais para verificá-lo)? Não tenho certeza do que está causando isso.
$ lsof -p 14229
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 14229 myuser cwd DIR 0,23 4096 11059271 /home/users/myuser (company.com:/home/users/)
bash 14229 myuser rtd DIR 8,2 4096 2 /
bash 14229 myuser txt REG 8,2 920788 7617113 /bin/bash
bash 14229 myuser mem REG 8,2 30520 657679 /lib/i386-linux-gnu/libnss_compat-2.15.so
bash 14229 myuser mem REG 8,2 13940 657672 /lib/i386-linux-gnu/libdl-2.15.so
bash 14229 myuser mem REG 8,2 1713640 657666 /lib/i386-linux-gnu/libc-2.15.so
bash 14229 myuser mem REG 8,2 121024 660635 /lib/i386-linux-gnu/libtinfo.so.5.9
bash 14229 myuser mem REG 8,2 47040 657683 /lib/i386-linux-gnu/libnss_files-2.15.so
bash 14229 myuser mem REG 8,2 42652 657690 /lib/i386-linux-gnu/libnss_nis-2.15.so
bash 14229 myuser mem REG 8,2 134344 657659 /lib/i386-linux-gnu/ld-2.15.so
bash 14229 myuser mem REG 8,2 92016 657678 /lib/i386-linux-gnu/libnsl-2.15.so
bash 14229 myuser mem REG 8,2 2919792 7748495 /usr/lib/locale/locale-archive
bash 14229 myuser mem REG 8,2 26256 7757442 /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
bash 14229 myuser 0r CHR 136,1 0t0 4 /dev/pts/1 (deleted)
bash 14229 myuser 1w CHR 136,1 0t0 4 /dev/pts/1 (deleted)
bash 14229 myuser 2w CHR 136,1 0t0 4 /dev/pts/1 (deleted)
bash 14229 myuser 255u CHR 136,1 0t0 4 /dev/pts/1 (deleted)
Exceto pelas linhas /dev/pts
, isso é idêntico a outros processos bash:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 6674 myuser cwd DIR 0,23 4096 11059271 /home/users/myuser (company.com:/home/users/)
bash 6674 myuser rtd DIR 8,2 4096 2 /
bash 6674 myuser txt REG 8,2 920788 7617113 /bin/bash
bash 6674 myuser mem REG 8,2 1713640 657666 /lib/i386-linux-gnu/libc-2.15.so
bash 6674 myuser mem REG 8,2 121024 660635 /lib/i386-linux-gnu/libtinfo.so.5.9
bash 6674 myuser mem REG 8,2 47040 657683 /lib/i386-linux-gnu/libnss_files-2.15.so
bash 6674 myuser mem REG 8,2 13940 657672 /lib/i386-linux-gnu/libdl-2.15.so
bash 6674 myuser mem REG 8,2 30520 657679 /lib/i386-linux-gnu/libnss_compat-2.15.so
bash 6674 myuser mem REG 8,2 42652 657690 /lib/i386-linux-gnu/libnss_nis-2.15.so
bash 6674 myuser mem REG 8,2 92016 657678 /lib/i386-linux-gnu/libnsl-2.15.so
bash 6674 myuser mem REG 8,2 134344 657659 /lib/i386-linux-gnu/ld-2.15.so
bash 6674 myuser mem REG 8,2 2919792 7748495 /usr/lib/locale/locale-archive
bash 6674 myuser mem REG 8,2 26256 7757442 /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
bash 6674 myuser 0r CHR 136,2 0t0 5 /dev/pts/2
bash 6674 myuser 1w CHR 136,2 0t0 5 /dev/pts/2
bash 6674 myuser 2w CHR 136,2 0t0 5 /dev/pts/2
bash 6674 myuser 255u CHR 136,2 0t0 5 /dev/pts/2
O padrão kill
não funciona:
$ kill 14229 && sleep 1m && kill -0 14229 && echo Alive
Alive
De acordo com ps wafux
, não há processos filhos.
Tentei traçar como recomendado por @ChandraRavoori:
$ sudo strace -p 14229
Process 14229 attached - interrupt to quit
Depois disso, não recebo saída. Eu tentei kill 14229
várias vezes, e ele imprimiu o seguinte toda vez:
--- SIGTERM (Terminated) @ 0 (0) ---
Quais são as outras coisas para verificar antes de kill -9
?
Tente
strace -p 14229
Eu imprimo cada syscall que o processo invoca. Então você vê o que o processo realmente faz.
Não sei se você já tentou, mas% ps xal
, ele pode te dar o id do processo pai,
Você pode matar o pai para se recuperar dele.
PS: geralmente o bash tem o processo init como pai. se é assim também aqui, então apenas a solução padrão, Ctrl + Alt + del (ou reinicialização) só pode resolvê-lo.
Tags bash troubleshooting