Изменение приоритета работающего процесса с помощью 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
5920: old priority 2, new priority 5
#jobs
[1] + Running nice -2 lp sales.dat &
При этом видно, что сообщение команды jobs не изменилось, т.к. надпись справа – это всего лишь команда, которая была набрана при запуске процесса, а не информация о текущем приоритете его работы.
В заключении, отметим следующие правила использования команд nice и renice:
вы можете использовать renice только со своими процессами;
суперпользователь может применить renice к любому процессу, пользователю или целой группе;
только суперпользователь может повысить приоритет процесса.
Прекращение процесса с помощью kill
Иногда, необходимо прекратить выполнение процесса, не дожидаясь его нормального завершения. Это может произойти в следующих случаях:
процесс работает слишком долго, не давая желаемых результатов;
из-за ошибки оператора или программы используются не те файлы или параметры командной строки;
дальнейшее выполнение процесса бесполезно;
и другое….
Если процесс работает не в фоновом режиме, нажатие должно прервать его выполнение, но если процесс фоновый, то это не поможет. В этом случае, прервать его выполнение можно с помощью kill.
Для завершения процесса с идентификатором 941 просто введите kill 941. Для того чтобы завершить процессы 941, 149, 491, надо ввести kill 941 149 491 либо, как это уже описывалось ранее – ввести: [kill] [%номер задачи], но не всегда есть возможность получить параметр номер задачи. Так, например, в случае с командой nohup – после повторного входа в систему. В этом случае следует воспользоваться командой ps, причём в виде ps –uax | more.
При успешном завершении процесса, никакое сообщение не выводится – процессы умирают молча. Сообщение появится при попытке завершения процесса без наличия у вас соответствующих прав доступа или при попытке завершить несуществующий процесс.
Завершение родительского процесса обычно приводит к завершению дочерних, однако, для полной уверенности в завершении всех процессов, связанных с данным, указывайте их в команде kill.
Do'stlaringiz bilan baham: |