어떤 이유로 응답을 멈추고 CPU 리소스를 차지하는 Google Chrome Helper 프로세스가 꽤 많이 발생했습니다. 일반적으로 를 실행 killall Google\ Chrome\ Helper
하지만 이로 인해 응답 프로세스를 포함한 모든 프로세스가 종료되므로 Chrome을 다시 시작해야 합니다.
killall
응답하지 않는 프로세스에만 영향을 주는 플래그가 있습니까 ?
답변1
한 가지 방법은 top
가장 많은 CPU를 사용하는 프로세스의 pid를 찾는 것입니다. 터미널에서 bash CPU 호그를 시작했습니다.
bash -c "while true; do :; done"
그런 다음 다른 터미널에서 다음과 같이 종료할 수 있습니다.
kill $( top -l2 | grep bash | sort -nrk3 | awk '{print $1;exit}' )
있기 때문에 참고해주세요운영 체제, 이는 GNU 버전이 아닌 BSD 버전입니다 top
.
-l2
2번의 반복을 실행하도록 top에 지시합니다. 첫 번째 반복은 모든 프로세스에 대해 0% CPU만 보고하므로 무시해야 합니다.grep
Bash 라인 만 필터링합니다 . grep 표현식이 출력의 다른 부분과 일치하는 경우 추가 작업이 필요할 수 있습니다top
.sort
세 번째 열(CPU %)을 기준으로 출력의 역순 숫자 순서head
첫 번째 행 가져오기(가장 높은 CPU)cut
첫 번째 열(PID) 가져오기- 위의 내용은
$()
명령 대체에서 실행되며 숫자 PID는 직접 전달됩니다.kill
GNU/Linux 시스템에서 이에 상응하는 것은 다음과 같습니다:
kill $(top -bn1 | grep bash | sort -nrk9 | awk '{print $1;exit}')