Автоматически убивать процессы, которые превышают x% ЦП

У меня есть (довольно раздражающий) процесс на моем iMac, который имеет тенденцию выходить из-под контроля.

К сожалению, избавиться от него невозможно. Как бы я ни хотел.

Поначалу этот процесс идет нормально — используется 1-2% моего двухъядерного процессора.

Тогда это происходит. Вся машина тормозит. Если мне удастся открыть Activity Monitor, я увижу, что процесс-нарушитель использует 200%, даже 300% моего процессора.

Не весело.

Если я смогу открыть Activity Monitor или Terminal и убить процесс, он перезапустится и будет вести себя как хороший маленький процесс. Некоторое время. Снова сходит с ума.

Я, как iOS-разработчик, считаю, что лучший способ борьбы с этим процессом — автоматизированный помощник.

Я имею в виду фоновый процесс, который уничтожит процесс-нарушитель, как только его загрузка ЦП достигнет X%, скажем, 50 или 75%. Процесс перезапустится и станет нормальным без моего вмешательства.

Является ли это возможным? Я могу написать код, AppleScript, что угодно , чтобы снова сделать машину пригодной для использования.

Это пользовательский процесс или системный? Вы пробовали niceв процессе?
@demure Нет. Каково использование и что он делает?
niceможет изменить приоритет планирования процесса. см. man nice* . Пример:nice -n 19 process_name
@Отменить, какой процесс ведет себя неправильно?
@Undo В OSX программы защиты от вирусов вызывают больше проблем, чем решают :) Одна из причин, по которой многие пользователи не рекомендуют их использовать
@Mark Мы не используем часть AV. Я iOS-разработчик :)
@Undo удалить антивирус Intego, он вам не нужен.

Ответы (1)

Этот пост предлагает использовать monit .
Поскольку вы не предоставили подробностей о характере процесса, я не могу сказать, будет ли вам полезна предложенная ими конфигурация.

Это работает на OSX? блог предназначен для Linux, а страница загрузки содержит несколько орехов Unicies, а не OSX. Я спрашиваю, поскольку я, вероятно, буду иметь дело с API-интерфейсами системного уровня, которые отличаются в OSX.
Как видно со страницы загрузки , есть бинарник macosx-universal.
Извините, я пропустил это, когда я прочитал это в первый раз