Как сделать песочницу (или контролировать) процесс в OSX

Я использую часть программного обеспечения для оптического распознавания текста [с графическим интерфейсом и т. Д.] В OSX, которая просматривает папку и файлы PDF для оптического распознавания текста, которые находятся там. Иногда процесс начинает плохо работать и потребляет огромное количество системной памяти и ЦП, бесконечно работающих на конкретном PDF.

  • Я хотел бы знать, как контролировать этот процесс, чтобы убить его при таких обстоятельствах.
  • Я также хотел бы предотвратить остановку системы, например, путем песочницы.

3 ответа

Вы можете изолировать приложение в OS X с помощью встроенной функции sandbox(7). См. Справочные страницы для sandbox(7), sandbox-exec(1) и sandboxd(8). Этот репозиторий сценариев с песочницей также может быть полезен.

OS X 10.7 (Lion) также предоставит больше возможностей для песочницы приложений, но подробности на сайте Apple невелики. Я предположил бы, что это будет связано с вышеупомянутой особенностью.

Чтобы убить процесс, вам нужно найти его номер процесса.

$ ps a| grep _process_name_

это приводит к списку:

Образец:

$ ps a|grep Safari
31755 s000  R+     0:00.00 grep Safari

Теперь убейте процесс:

kill 31755

Есть несколько ключей для команды kill, иногда вам нужно использовать kill -kill _process number_

Чтобы получить полный список опций, используйте main kill

Обычная ол ps может помочь с этим: мы запускаем процесс, который учитывает количество секунд процессора, которое каждый процесс использовал в соответствии с ps по сравнению с истекшим временем настенного часа и предупреждает системного администратора, чтобы посмотреть, является ли отношение чрезмерным; Вы можете, конечно, связать это с уничтожением определенных процессов, если захотите.

Другие вопросы по тегам