응답하지 않는 프로세스를 이름으로 종료하지만 응답하는 프로세스는 유지합니다.

응답하지 않는 프로세스를 이름으로 종료하지만 응답하는 프로세스는 유지합니다.

어떤 이유로 응답을 멈추고 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.

  • -l22번의 반복을 실행하도록 top에 지시합니다. 첫 번째 반복은 모든 프로세스에 대해 0% CPU만 보고하므로 무시해야 합니다.
  • grepBash 라인 만 필터링합니다 . grep 표현식이 출력의 다른 부분과 일치하는 경우 추가 작업이 필요할 수 있습니다 top.
  • sort세 번째 열(CPU %)을 기준으로 출력의 역순 숫자 순서
  • head첫 번째 행 가져오기(가장 높은 CPU)
  • cut첫 번째 열(PID) 가져오기
  • 위의 내용은 $()명령 대체에서 실행되며 숫자 PID는 직접 전달됩니다.kill

GNU/Linux 시스템에서 이에 상응하는 것은 다음과 같습니다:

kill $(top -bn1 | grep bash | sort -nrk9 | awk '{print $1;exit}')

관련 정보