CPU를 많이 사용하는 다른 프로세스가 실행 중인 경우 프로세스를 일시 중지하고 계속하는 감시 스크립트를 만드는 방법은 무엇입니까?

CPU를 많이 사용하는 다른 프로세스가 실행 중인 경우 프로세스를 일시 중지하고 계속하는 감시 스크립트를 만드는 방법은 무엇입니까?

저는 대학의 여러 당사자가 사용하는 서버에서 며칠 동안 실행되는 매우 큰 테스트 설정을 가지고 있습니다.

pid로 프로세스를 일시 중지하고(프로세스에 의해 실행되는 프로세스(현재 실행 중인 프로세스가 있는 경우)) CPU를 많이 사용하는 프로세스가 중지될 때마다 계속하고 싶습니다. CPU가 많은 프로세스를 관련성이 있는 것으로 간주합니다. 15초 이상 100%에서 하나 이상의 코어를 사용합니다.

("상위" 출력을 어떻게 해석해야 할지 잘 모르겠지만 CPU 사용량이 2300%인 프로세스가 자주 나타나는데, 이는 23개의 코어가 100% 또는 22개의 코어가 (100%-x%)*22=2300%에서 실행되는 것으로 해석됩니다. 등.)

프로세스를 일시 중지하려면 기본적으로 두 가지 bash 명령 중에서 선택해야 합니다.

kill -TSTP [pid]

그리고

kill -STOP [pid]

내가 사용할 프로세스를 계속하려면 다음을 수행하십시오.

kill -CONT [pid]

내 이후로파이썬 스크립트테스트 설정에서 실행된 것은실행되는 프로세스의 런타임 측정혹시 방법이 있는지 묻고 싶습니다.프로세스가 실행되는 동안의 시간만 측정? (또한 내 Python 스크립트에 의해 실행되는 프로세스의 내장 함수로 정확한 계산 시간을 측정하지만 일부 의심스러운 결과로 인해(절대 시간이 의심스럽고 상대 시간이 올바른 것 같습니다) 정확도가 떨어지겠지만 적어도 외부에서 어느 정도 사용 가능한 시간 측정(파이썬 스크립트))

요약

  1. 이러한 프로세스를 찾아 그에 따라 반응하는 스크립트를 어떻게 디자인할 수 있습니까? (서버에 루트는 없지만 실행되는 모든 프로세스를 보고 내 프로세스를 처리할 수 있습니다.)
  2. 프로세스가 일시 중지된 시간을 포함하지 않고 해당 프로세스에 대해 정확한 시간 측정(+/- 10초)을 수행하는 방법은 무엇입니까?

관련 정보