Нужен скрипт для уничтожения процесса python с низким потреблением процессора

Я создал очень большую и сложную программу python, и теперь я знаю, что у нее серьезная ошибка, с которой мне приходится очень тяжело. Я использую этот код в рабочей среде, поэтому мне нужна мера стоп-пробела для реализации, пока я не нахожу и не исправляю свою проблему с кодировкой. Мне нужно создать сценарий bash, который я могу использовать, чтобы проверить использование процессора моей программой python и убить его, если он будет последовательно ниже x%. Как только он будет убит, он автоматически перезапустится самостоятельно.

Я использую следующее, чтобы получить свой PID и% CPU

$ ps -eo pid -eo pcpu -eo command |grep python |grep pycode.py 

2940 71.9 python pycode.py

Как я могу проверить% cpu, что на 71.9 выше, против x% cpu, а затем убить PID, если это необходимо.

Кроме того, программа python не убегает и не умирает. Он просто падает до уровня ниже 5% и остается там, и пользовательский интерфейс замерзает. Я новичок в bash, поэтому я действительно не знаю, с чего начать.

One Solution collect form web for “Нужен скрипт для уничтожения процесса python с низким потреблением процессора”

Вот грубая попытка:

 read -r pid cpu rest < <(ps -eo pid -eo pcpu -eo command |grep python |grep pycode.py) if (( ${cpu%.*} < 5 )) ; then kill -TERM $pid fi 

Мы используем ${cpu%.*} Чтобы усечь его на целое число, так как bash не может обрабатывать float. Это работает только один раз; если вы хотите, чтобы это продолжалось, поставьте его на задание cron или поместите его в цикл со sleep 5 или что угодно.

  • Запустите git pull из сценария запуска оболочки
  • Как успешно выйти из сценария оболочки, чтобы подпроцесс python считал, что он успешно выходит?
  • Как я могу настроить переименование подкастов после их загрузки с помощью gPodder?
  • Как запустить скрипт python с помощью Anaconda из командной строки?
  • Из терминала ... не удается удалить пакет Python (не удалось найти), также не может установить (уже выполнено)
  • ImportError при запуске приложения WSGI в Apache: undefined symbol: PyUnicodeUCS2_DecodeUTF8
  • Сценарий для удаления файлов, не соответствующих определенным именам файлов
  • FreeBSD: невозможно установить Python 2.7
  • Как я могу переключаться между Python 2.7 и 3.4, установленными на Debian 8 (Jessie)?
  • Замените python, созданный с помощью UCS4 с UCS2
  • Как автоматически создать папку времени выполнения с помощью службы systemd или tmpfiles.d?
  • Linux и Unix - лучшая ОС в мире.