Существует достаточно большое количество утилит, используемых для управления тем или иным способом процессами, исполняемыми в операционной системе. В табл. 26.1 приведен список основных программ, тем или иным образом предназначенных для управления процессами.
Таблица 26.1. Программы управления процессами
Программа Описание
at Выполняет команды в определенное время
batch Выполняет команды тогда» когда это позволяет загрузка системы
сгоп Выполняет команды по заранее заданному расписанию
crontab Позволяет работать с файлами crontab отдельных пользователей
kill Прекращает выполнение процесса
nice Изменяет приоритет процесса перед его запуском
nohup Позволяет работать процессу после выхода пользователя из системы
ps Выводит информацию о процессах
renice Изменяет приоритет работающего процесса
w Показывает, кто в настоящий момент работает в системе и с какими программами
ps
Программа ps предназначена для получения информации о существующих в операционной системе процессах. Простой запуск ps без параметров вьщаст список программ, выполняемых на терминале. Обычно этот список очень мал:
PID TTY TIME CMD
885 ttyl 00:00:00 login
893 ttyl 00:00:00 bash
955 ttyl 00:00:00 ps
Что означает полученная информация?
- Первый столбец — pid (идентификационный номер процесса). Как уже упоминалось, каждый выполняющийся процесс в системе получает уникальный идентификатор, с помощью которого производится управление процессом. Каждому вновь запускаемому на выполнение процессу присваивается следующий свободный PID. Когда процесс завершается, его номер освобождается. Когда достигнут максимальный PID, следующий свободный номер будет взят из наименьшего освобожденного.
- Следующий столбец — tty — показывает, на каком терминале процесс выполняется. Запуск команды без параметров ps покажет процессы, выполняемые на текущем терминале.
- Столбец time показывает, сколько процессорного времени выполняется процесс.
- Столбец cmd показывает, что же это за программа. Отображается только имя программы, опции командной строки не выводится.
kill
Программа kill (в переводе с английскою — убить) предназначена для посылки соответствующих сигналов указанному нами процессу. Как правило, это бывает тогда, когда некоторые процессы начинают вести себя неадекватно. Наиболее часто программа применяется, чтобы прекратить выполнение процессов.
Для того чтобы прекратить работу процесса, необходимо знать PID процесса либо его имя. Например, чтобы “убить” процесс 123, достаточно выполнить следующую команду:
kill 123
Как обычно, чтобы прекратить работу процесса, вам необходимо быть его владельцем. Само собой, пользователь root может прекратить работу любого процесса в системе.
Иногда обычное выполнение программы kill не справляется с поставленной задачей. Обычно это объясняется тем, что данный процесс завис либо выполняет операцию, которую с его точки зрения нельзя прервать немедленно. Для прерывания этого процесса можно воспользоваться следующей командой:
kill -9 123
Что это означает? Вообще-то программа kill предназначена для посылки процессам управляющих сигналов, одним из которых является сигнал sigterm (terminate, завершиться). Этот сигнал посылается процессу при выполнении программы kill по умолчанию. Процесс, получивший данный сигнал, должен корректно завершить свою работу (закрыть используемые файлы, сбросить буферы ввода/вывода и т. п.). Ключ -9 указывает программе kill посылать процессу другой тип сигнала — sigkill. Это приводит к тому, что процесс не производит корректного завершения, а немедленно прекращает свою жизнедеятельность. Помимо этих сигналов, в вашем распоряжении целый набор различных сигналов. Полный список сигналов можно получить, выполнив следующую команду:
kill -1
Как видите, список внушительный. Подробную информацию о сигналах вы найдете в документации на программу kill.
killall
Еще один вариант программы kill. Используется для того, чтобы завершить работу процессов, носящих одно и то же имя. К примеру, в нашей системе запущено несколько программ те. Для того чтобы одновременно завершить работу этих программ, достаточно всего лишь выполнить следующую* команду:
killall me
Похожие записи
No user прокомментировали сообщение
Оставить комментарий