중단된 bash 프로세스 디버깅

중단된 bash 프로세스 디버깅

오늘 성능이 좋지 않은 후 다음을 확인했습니다 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% Bash 프로세스 사용량은 오래전에 사라졌어야 합니다(확인하기 위해 모든 터미널을 닫았습니다)? 이 문제의 원인이 무엇인지 잘 모르겠습니다.

$ 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)

이는 다음 행을 제외하고 /dev/pts다른 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

표준이 kill작동하지 않습니다:

$ kill 14229 && sleep 1m && kill -0 14229 && echo Alive
Alive

따라서 ps wafux하위 프로세스가 없습니다.

@ChandraRavoori가 제안한 대로 추적해 보세요.

$ sudo strace -p 14229
Process 14229 attached - interrupt to quit

그 이후에는 어떤 결과도 나오지 않습니다. 여러 번 시도했는데 kill 14229매번 다음과 같이 인쇄되었습니다.

--- SIGTERM (Terminated) @ 0 (0) ---

그 밖에 확인할 사항앞으로kill -9?

답변1

노력하다

strace -p 14229

프로세스에서 호출한 모든 시스템 호출을 인쇄하겠습니다. 그러면 이 프로세스가 실제로 무엇을 하는지 알게 될 것입니다.

http://try-linux.blogspot.de/2013/12/how-to-strace-process.html

답변2

이것을 시도했는지는 모르겠지만
ps xal상위 프로세스 ID를 제공할 수 있습니다.

회복을 위해 부모를 죽일 수 있습니다.

추신: 일반적으로 bash는 init 프로세스를 상위 프로세스로 사용합니다. 여기에서도 마찬가지라면 표준 솔루션인 Ctrl + Alt + del(또는 다시 시작)만으로 문제가 해결됩니다.

관련 정보