it-swarm-ko.tech

`htop`이`ps`보다 더 많은 프로세스를 표시하는 이유

ps xf

26395 pts/78   Ss     0:00  \_ bash
27016 pts/78   Sl+    0:04  |   \_ Unicorn_Rails master -c config/Unicorn.rb                                           
27042 pts/78   Sl+    0:00  |       \_ Unicorn_Rails worker[0] -c config/Unicorn.rb                                        

htop에서 다음과 같이 나타납니다. htop showing multiple Unicorn_Rails lines

Htop이 ps보다 더 많은 프로세스를 표시하는 이유는 무엇입니까?

195
Cheng

기본적으로 htop는 프로세스의 각 스레드를 개별적으로 나열하지만 ps는 그렇지 않습니다. 스레드 표시를 끄려면 H를 누르거나 "설정/표시 옵션"메뉴, "사용자 랜드 스레드 숨기기"를 사용하십시오. 이렇게하면 다음 줄이 ~/.htoprc 또는 ~/.config/htop/htoprc (또는 수동으로 넣을 수 있음) :

hide_userland_threads=1

(또한 hide_kernel_threads=1, K을 누르면 전환되지만 기본적으로 1입니다.)

또 다른 유용한 옵션은 동일한 메뉴에서 "다른 색상으로 스레드 표시"입니다 (highlight_threads=1.htoprc), 스레드가 다른 색상 (기본 테마의 녹색)으로 표시됩니다.

htop 디스플레이의 첫 번째 줄에는“작업 : 377, 842 thr, 161 kthr; 2 달리기”. 실행 가능한 상태의 총 프로세스, 사용자 스레드 스레드, 커널 스레드 및 스레드 수를 보여줍니다. 디스플레이를 필터링해도 숫자는 변경되지 않지만 사용자/커널 스레드 포함을 각각 끄면 "thr"및 "kthr"표시가 사라집니다.

PID 및 CPU 관련 필드 (Nice value, CPU %, TIME +, ...)를 제외한 모든 특성이 공통 인 여러 프로세스가 표시되면 동일한 프로세스에서 스레드 일 가능성이 높습니다.

나를 위해, 현재 아치 리눅스 시스템에서 ps xf는 사용자 ID가 소유 한 프로세스 만 보여줍니다. htop는 모든 프로세스를 보여줍니다. ps -ef 모든 프로세스 목록 또는 ps -ejH 자녀/부모 관계 목록을 가져옵니다.

1
Bruce Ediger

htop은 또한 종료 된 프로세스를 보여주고 있습니다. 이것은 훌륭하기 때문에 단기 프로세스와 이들이 소비 한 리소스를 볼 수 있습니다. htop을 종료했다가 다시 시작하면 이들이 중지 된 것을 볼 수 있습니다. 다시 시작하지 않고 기록 프로세스를 중단시키는 방법을 알 수 없으므로 방법이있을 수 있습니다.

0
MikeB