Категории
Самые читаемые

Linux - Алексей Стахнов

Читать онлайн Linux - Алексей Стахнов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 89 90 91 92 93 94 95 96 97 ... 151
Перейти на страницу:

kill -9 123

Что это означает? Вообще-то программа kill предназначена для посылки процессам управляющих сигналов, одним из которых является сигнал sigterm (terminate, завершиться). Этот сигнал посылается процессу при выполнении программы kill по умолчанию. Процесс, получивший данный сигнал, должен корректно завершить свою работу (закрыть используемые файлы, сбросить буферы ввода/вывода и т. п.). Ключ -9 указывает программе kill посылать процессу другой тип сигнала – sigkill. Это приводит к тому, что процесс не производит корректного завершения, а немедленно прекращает свою жизнедеятельность. Помимо этих сигналов, в вашем распоряжении целый набор различных сигналов. Полный список сигналов можно получить, выполнив следующую команду:

kill -1

1) SIGHUP

2) SIGINT

3) SIGQUIT

4) SIGILL

5) SIGTRAP

6) SIGABRT

7) SIGBUS

8) SIGFPE

9) SIGKILL

10) SIGUSR1

11) SIGSEGV

12) SIGUSR2

13) SIGPIPE

14) SIGALRM

15) SIGTERM

17) SIGCHLD

18) SIGCONT

19) SIGSTOP

20) SIGTSTP

21) SIGTTIN

22) SIGTTOU

23) SIGURG

24) SIGXCPU

25) SIGXFSZ

26) SIGVTALRM

27) SIGPROF

28) SIGWINCH

29) SIGIO

30) SIGPWR

31) SIGSYS

32) SIGRTMIN

33) SIGRTMIN+1

34) SIGRTMIN+2

35) SIGRTMIN+3

36) SIGRTMIN+4

37) SIGRTMIN+5

38) SIGRTMIN+6

39) SIGRTMIN+7

40) SIGRTMIN+8

41) SIGRTMIN+9

42) SIGRTMIN+10

43) SIGRTMIN+11

44) SIGRTMIN+12

45) SIGRTMIN+13

46) SIGRTMIN+14

47) SIGRTMIN+15

48) SIGRTMAX-15

49) SIGRTMAX-14

50) SIGRTMAX-13

51) SIGRTMAX-12

52) SIGRTMAX-11

53) SIGRTMAX-10

54) SIGRTMAX-9

55) SIGRTMAX-8

56) SIGRTMAX-7

57) SIGRTMAX-6

58) SIGRTMAX-5

59) SIGRTMAX-4

60) SIGRTMAX-3

61) SIGRTMAX-2

62) SIGRTMAX-1

63) SIGRTMAX

Как видите, список внушительный. Подробную информацию о сигналах вы найдете в документации на программу kill.

killall

Еще один вариант программы kill. Используется для того, чтобы завершить работу процессов, носящих одно и то же имя. К примеру, в нашей системе запущено несколько программ тс. Для того чтобы одновременно завершить работу этих программ, достаточно всего лишь выполнить следующую команду:

killall mc

Конечно, этим не ограничивается использование данной команды. С ее помощью можно отсылать сигналы группе одноименных процессов. Для получения более подробной информации по этой команде обращайтесь к ее тап-странице.

Изменение приоритета выполнения процессов

В операционной системе Linux у каждого процесса есть свой приоритет исполнения. Это очень удобно. Поскольку операционная система многозадачна – то для выполнения каждого процесса выделяется определенное количество времени. Для некоторых задач необходимо выделить побольше, для некоторых можно поменьше. Для этого и предназначен приоритет процесса. Управление приоритетом процесса осуществляется программами nice и renice.

nice

Программа nice позволяет запустить команду с предопределенным приоритетом выполнения, который задается в командной строке. При обычном запуске все задачи имеют один и тот же приоритет, и операционная система равномерно распределяет между ними процессорное время. Однако с помощью утилиты nice можно понизить приоритет какой-либо задачи, таким образом предоставляя другим процессам больше процессорного времени. Повысить приоритет той или иной задачи имеет право только пользователь root. Синтаксис использования nice следующий:

nice - number command

Уровень приоритета процесса определяется параметром number , при этом большее его значение означает меньший приоритет процесса. Значение по умолчанию – 10, и number представляет собой число, на которое должен быть уменьшен приоритет. К примеру, процесс top имеет приоритет, равный —5. Для того чтобы понизить приоритет выполнения процесса на десять, мы должны выполнить следующую команду:

nice 10 top

В результате процесс top имеет приоритет, равный 5.

Только пользователь root может поднять приоритет того или иного процесса, используя для этого отрицательное значение параметра number.

renice

Программа renice, в отличие от программы nice, позволяет изменить приоритет уже работающего процесса. Формат запуска программы следующий:

renice - number PID

В общем, программа renice работает точно так же, как и nice. Уровень приоритета процесса определяется параметром number , при этом большее его значение означает меньший приоритет процесса. Значение по умолчанию – 10, и number представляет собой число, на которое должен быть уменьшен приоритет процесса.

Только пользователь root может поднять приоритет того или иного процесса, используя для этого отрицательное значение параметра number.

Выполнение процессов в заданное время

Одна из основных задач автоматизации администрирования операционной системы – выполнение программ в заданное время или с заданной периодичностью. Конечно, можно запускать программы самостоятельно, но проводить 24 часа на работе или постоянно удаленно запускать программы в самое неподходящее время (часа в три ночи) – безумие. Для решения этих проблем существует несколько утилит, позволяющих запускать процессы в нужное время.

at

Для запуска одной или более команд в заранее определенное время используется команда at. В этой команде вы можете определить время и дату запуска той или иной команды. Команда at требует, по меньшей мере, двух параметров – время выполнения программы и запускаемую программу с ее параметрами запуска.

Приведенный ниже пример запустит команду на выполнение в 01:01. Для этого введите все, приведенное ниже, с терминала, завершая ввод каждой строки нажатием клавиши <Enter> и по окончании ввода всей команды – <Ctrl>+<D> для ее завершения.

at 1:01

Is

echo "Time is 1:01"

Помимо времени, в команде at может быть также определена и дата запуска программы на выполнение.

Пользователь root может без ограничения применять практически любые команды. Для обычных пользователей права доступа к команде at определяются файлами /etc/at.allow и /etc/at.deny. В файле /etc/at.allow содержится список тех, кому разрешено использовать команду at, а в файле /etc/at.deny находится список тех, кому ее выполнять запрещено.

batch

Команда batch в принципе аналогична команде at. Более того, batch представляет собой псевдоним команды at – ъ. Для чего необходима эта команда? Представьте, вы хотите запустить резервное копирование вечером. Однако в это время система очень занята, и выполнение резервирования системы практически парализует ее работу. Для этого и существует команда batch – ее использование позволяет операционной системе самой решить, когда наступает подходящий момент для запуска задачи в то время, когда система не сильно загружена.

Формат команды batch представляет собой просто список команд для выполнения, следующих в строках за командой; заканчивается список комбинацией клавиш <Ctrl>+<D>. Можно также поместить список команд в файл и перенаправить его на стандартный ввод команды batch.

cron

Cron – это программа, выполняющая задания по расписанию, но, в отличие от команды at, она позволяет выполнять задания неоднократно. Вы определяете времена и даты, когда должна запускаться та или иная программа. Времена и даты могут определяться в минутах, часах, днях месяца, месяцах года и днях недели.

Программа cron запускается один раз при загрузке системы. При запуске cron проверяет очередь заданий at и задания пользователей в файлах crontab. Если для запуска не было найдено заданий – следующую проверку cron произведет через минуту.

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

Каждая строка в файле crontab содержит шаблон времени и команду. Команда выполняется тогда, когда текущее время соответствует приведенному шаблону. Шаблон состоит из пяти частей, разделенных пробелами или символами табуляции, и имеет вид:

минуты часы день_месяца месяц день_недели задание

Первые пять полей представляют собой шаблон времени и обязательно должны присутствовать в файле. Для того чтобы программа сгоп игнорировала поле шаблона времени, поставьте в нем символ звездочки (*).

Например, шаблон ю 01 01 * * говорит о том, что команда должна быть запущена в десять минут второго каждого первого числа любого (*) месяца, каким бы днем недели оно ни было. В табл. 26.3 приведено описание полей таблицы задания сгоп.

Таблица 26.3. Параметры таблицы заданий программы cron

Ниже приведены несколько команд, исполняемых программой сгоп:

• команда запускается в 1 минуту каждого часа:

01 * * * * /usr/bin/script

• команда запускается каждый день в 8:20:

20 8 * * * /usr/bin/script

• команда запускается в 6 часов каждое воскресенье:

00 6 * * 0 /usr/bin/script

• команда запускается в 7:40 каждое первое число:

40 7 1 * * /usr/bin/script

Для создания и редактирования файла заданий для программы сгоп используется команда crontab. Прямое редактирование файла заданий не допускается.

Команда crontab имеет следующие параметры командной строки:

• -е – позволяет редактировать компоненты файла (при этом вызывается редактор, определенный в переменной EDITOR);

1 ... 89 90 91 92 93 94 95 96 97 ... 151
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Linux - Алексей Стахнов.
Комментарии