"top"이 특정 패턴과 일치하는 프로세스 집합만 표시하도록 하려면 어떻게 해야 합니까?

"top"이 특정 패턴과 일치하는 프로세스 집합만 표시하도록 하려면 어떻게 해야 합니까?

.*git.*사용된 모든 프로세스가 포함된 명령줄을 표시하고 싶습니다 top.

나는 다음 명령을 고려했습니다.top -p $(pgrep -d',' -f '.*git.*')

그러나 위 명령에는 몇 가지 주의 사항이 있습니다.

  • top실행 당시 존재했던 프로세스만 top출력에 포함됩니다( .*git.*새 프로세스는 포함되지 않음).
  • man top-p이 플래그를 사용하여 최대 20개의 프로세스를 지정할 수 있음 을 나타냅니다. 이는 충분하지 않을 수 있습니다.

터미널에서 top현재 프로세스의 동적 보기를 표시하는 방법은 무엇입니까?.*git.*

답변1

top"창의 필터"를 사용하여 이 작업을 수행 할 수 있습니다 . 시작 을 top누른 다음 를 누르고 OEnter 를 누릅니다.

COMMAND=git

그러면 해당 열과 일치하는 프로세스가 필터링되고 COMMAND해당 열에 표시되는 값이 포함된 프로세스만 유지됩니다 git.

열을 필터링 할 때 COMMAND필터는 현재 표시된 값(실행 중인 프로그램의 이름 또는 전체 명령줄)에 적용됩니다. c을 누르거나 인수를 사용하여 전환 할 수 있습니다 -c. 상태 top는 호출 간에 기억됩니다. 필터는 필드의 보이는 부분에만 적용됩니다. COMMAND열을 필터링할 때 열이 완전히 보이지 않거나 명령줄의 관련 부분을 포함할 만큼 넓지 않은 경우 이는 중요한 문제가 될 수 있습니다. COMMAND필드 설명을 참조하세요 .man top더 알아보기.

필터는 누적되며 을 눌러 지울 수 있습니다 =. 섹션 5e 참조man top더 알아보기.

내가 아는 한 이에 상응하는 명령줄 옵션은 없습니다.

관련 정보