Команда nice позволяет запустить другую команду с предопределенным приоритетом выполнения, предоставляя вам, таким образом, возможность задавать приоритет при выполнении своих задач. При обычном запуске, все задачи имеют один и тот же приоритет и ОС равномерно распределяет между ними процессорное время. Однако, с помощью nice вы можете понизить приоритет какой-либо «неспешной» задачи, предоставив тем самым другим задачам больше процессорного времени. Повысить же приоритет той или иной задачи имеет право только администратор.
Синтаксис использования nice следующий:
Nice -смещение command
Уровень приоритета определяется параметром смещение, при этом большее его значение означает меньший приоритет команды. Значение по умолчанию – 10, и смещение представляет собой число, на которое он должен быть уменьшен. Например, если вы запускаете процесс сортировки:
#sort worknew.dat > worknew.srt &
и хотите дать ему преимущество над другим процессом, например, печати, запустите этот второй процесс с уменьшенным приоритетом:
|
|
#nice -5 lp mail_list &
Либо, если вы имеете права администратора (в л/р вы их не имеете), то вы можете просто повысить приоритет процесса сортировки, задав ему отрицательное смещение:
#nice -5 sort worknew.dat > worknew.srt &
Самый низкий приоритет будет иметь задача, у которой смещение равно 19, а самый высокий – -20.
Изменение приоритета работающего процесса с помощью renice
Команда renice позволяет изменить приоритет работающего процесса. Формат этой команды следующий:
Renice number PID
Параметр number представляет собой новое смещение процесса не относительно предыдущего. Для изменения приоритета работающего процесса необходимо знать его идентификатор, получить который можно с помощью рассмотренной ранее команды ps, а при выполнении л/р – лучше, просто, запомнить его при запуске команды в фоновый режим.
Пример
Запустим процесс печати на принтере файла sales.dat с пониженным на 2 приоритетом, а затем понизим его ещё на 3:
# nice -2 lp sales.dat &
[1] 5920
Посмотрим, что выдаст нам команда jobs:
# jobs
[1] + Running nice -2 lp sales.dat &
# renice 5 5920