답변:
Linux에서는 다음을 수행 할 수 있습니다.
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
$PID
루트 프로세스는 어디에 있습니까 ? 이것은 다음과 같이 작동합니다.
pstree
하는 -p
옵션을 사용하여 원하는 프로세스 목록을 얻습니다 .\((\d+)\)
)을 사용하여 PID를 검색하고 쉼표로 구분하여 출력 하는 Perl 스크립트로 파이프됩니다 .htop -p
.Mac OS와 같은 다른 OS의 경우 PID를 검색하는 정규식을 조정해야 할 수도 있습니다.
참고 : 불행히도 나중에 생성 된 새 자식으로 목록을 업데이트하는 것은 불가능합니다. 한 번 htop
실행 된 후에 는 다른 작업을 수행 할 수 없기 때문입니다. 이것은 htop
(현재 버전 : 2.0.2) 의 한계입니다 .
$PID
는 pid 여야하지만을 사용하여 프로세스 이름에서 ID를 얻을 수 있습니다 pgrep
.
pstree
homebrew 와 함께 macOS 에서 :htop -p `pstree -p $PID | perl -ne 'push @t, /--- (\d+) /g; END { print join ",", @t }'`
$PID
프로세스의 이름이거나 ID 여야합니까?