나는 파이프라인 중간에 있는 프로세스가 왜 잠자기 상태이고 데이터 처리에 바쁘지 않은지 종종 궁금했습니다. 내 현재 접근 방식은 다음과 같습니다.
pid
흥미로운 것을 발견하다sudo strace -pt pid
차단 시스템 호출 및 객체(fd, child, futex 등) 가져오기- Ctrlcstrace를 분리하려면 클릭하세요 .
- 적절한 개체를 찾아보세요
/proc/pid
grep /proc/
또는lsof
대기 중인 파이프나 프로세스의 다른 쪽 끝을 찾는 경우- 새로운 것으로 #1부터 반복
pid
strace
함께 잘 작동하지 않는( 특히 자동화하기 어려운) 많은 도구를 결합하는 상당히 느린 프로세스입니다 . 이 루프를 수행하고 프로세스의 대기 체인을 끌어낼 수 있거나 적어도 한 번의 반복을 덜 어색하게 만들 수 있는 도구가 있습니까?
Linux 3.2, Ubuntu LTS 12, x64, VirtualBox(사용 가능한 경우).
답변1
이제 대부분 ps
에는 트리 옵션이나 적절한 이름의 관련 유틸리티인 ptree
.
현재 작업 시스템에는 ptree가 없으므로 현재 다음을 사용합니다.
ps fauw
나도 하나 있는 것 같아
ps taux (t making more sense than f)
마지막으로 일부 PS에는 보기에 프로그램 스레드를 포함하는 옵션도 있습니다.
이것이 귀하(그리고 나)가 기대했던 자동화된 솔루션은 아니지만, 내 경험에 따르면 프로세스 트리에는 일련의 "가능한 용의자"가 있을 것이며 일반적으로 트리를 스캔하는 것만으로도 문제가 어디에 있는지 추측할 수 있습니다.
나는