Ограничение максимального процессорного времени для запущенных пользователями программ

Я хотел удалить все "~" файлы резервных копий (passwd ~, группа ~, resolv.conf ~), и на шведской клавиатуре необходимо нажать ~ кнопку и пространство для записи "~" и что я сделал был:

$ rm  * ~

В / и т.д.

1
задан 20 August 2010 в 11:49
3 ответа

Можно попытаться записать сценарий, который проверяет выполнение заданий, и запишите их использование, и решает, что сделать после определенной суммы. Можно также попытаться - Автоматический Хороший Демон и ulimits/PAM limits ограничить процессорное время пользователя (после того, как так много процессорного времени будет использоваться пользователем, процессы/сессии уничтожаются).

1
ответ дан 4 December 2019 в 01:59
  • 1
    я записал основанный на сценарии ответ ниже меня. Пределы PAM иначе были бы прекрасны, просто мой отказ из-за отсутствия полного раскрытия (интерактивные сессии в порядке, если бы они туннелируют до отдельного кластерного узла, и предел PAM завершил бы их сессию). –  sargant 21 August 2010 в 18:44

использование cpulimit; в debian находится в репозиториях, но не для песней. Здесь у них есть практическое руководство для компиляции и использования его: ссылка. Если у Вас есть кластер, просто скомпилируйте его в одной запасной машине, протестируйте его и разверните его с Вашим инструментом управления конфигурацией, как cfengine.

0
ответ дан 4 December 2019 в 01:59
  • 1
    хорошо, это, очевидно, не для ограничения процессорного времени для пользователя, но мощности CPU, которую они могут использовать в проценте. Извините за недоразумение. –  natxo asenjo 20 August 2010 в 15:24
  • 2
    Да, спасибо все же. Проблема не состоит в том, что они используют слишком много ЦП, что они не должны использовать узел для больших заданий вообще. Я с тех пор попытался мостить что-то вместе использование в других отношениях таинственного ps команда. –  sargant 21 August 2010 в 13:35

Не полное решение, но я впоследствии нашел команду, в которой я нуждаюсь:

ps alr | sed 1d | awk '{print ($6 <= 0)? $2 " " $3 " " $12 : ""}' | grep -v "^$"

Который перечисляет все рабочие задания с хорошим значением <= 0 в трех столбцах, состоя из UID, PID и общее время выполнения, как таковое:

543 3208 11436:31
511 16491 0:00

Я надеюсь, что это - затем относительно простой вопрос установки задания крона, чтобы проанализировать эти данные, проверить UIDs и уничтожить задания как соответствующие.

0
ответ дан 4 December 2019 в 01:59

Теги

Похожие вопросы