Проверьте /etc/security/limits.conf
. Там вы можете указать, какие приоритеты разрешено использовать пользователям или группам. Страница справочника:man 5 limits.conf
Как повысить приоритет процесса, не предоставив этому пользователю права суперпользователя?
У меня высокоприоритетное обслуживание, с которого я начинаю sudo nice -n -10 process
. Этот процесс не требует прав суперпользователя, за исключением повышения приоритета. Но nice требует привилегий суперпользователя для повышения приоритета.
Как запустить процесс с повышенным приоритетом, не выполняя при этом права root?
3 ответа на вопрос
Одна из возможностей заключается в следующем (о чем я только что подумал, спросив):
sudo nice -10 sudo -u user command
Но, похоже, должен быть более элегантный метод.
Другая возможность - sudo renice
изменить приоритет процесса после его запуска. Чтобы получить PID процесса, вы можете использовать ps
и sed
, или вы можете запустить его в фоновом режиме и получить его процесс непосредственно из оболочки:
process & pid=$! sudo renice -10 $pid fg $pid # if you don't want it in background
Обратите внимание, что если процесс порождает другие процессы и завершается, он, вероятно, сделает это к моменту запуска renice, так что вы захотите использовать ps
для получения PID дочернего процесса / процессов и перезапустить их.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4