Для того чтобы прекратить работу процесса, необходимо знать PID процесса либо его имя. Например, чтобы «убить» процесс 123, достаточно выполнить следующую команду:

kill 123

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

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 следующий:

Перейти на страницу:

Все книги серии Наиболее полное руководство

Похожие книги