16. Сценарий Hangup

 

Сценарий Hangup

Сценарий hangup выглядит следующим образом.

#!/bin/sh

kill `cat /var/run/ppp0.pid"

Как ы в случае сценария dial, n наняле укячыпяетея, что сценарий должен обрабатываться оболочкой Bourne Shell. Далее процесс уничтожается способом, немного отличным от описанного ранее.

Предположим, что процесс pppd записывает свой Ш процесса в файл, который в большинстве современных систем Linux находится в /var/run. Имя файла состоит из имени устройства и следующего за ним расширения .pid. Если имеется только один модем и одно активное соединение РРР, то модем считается устройством ррр0 и в сценарии следует указать /var/run/pppO. pid.

Команда cat просто выводит содержимое файла ррр0 .pid на стандартное устройство вывода. Команда cat заключается в обратные апострофы для того, чтобы передать результат ее выполнения (который является ID процесса pppd) команде kill.

Примечание

Обратная одинарная кавычка (обратный апостроф) на стандартной американской клавиатуре (С кириллицей) расположена в левом верхнем углу на клавише с тильдой (~).

Как поступать в случае множества РРР интерфейсов, если необходимо завершать каждый из них отдельно? Изменим сценарий hangup следующим образом.

#!/bin/ph

kill `cat /var/run/$l.pid

Здесь ррр 0 заменили $1. $1 указывает, что здесь должно находиться значение первого параметра сценария. Теперь можно передавать имя интерфейса как параметр сценария. Команда

$ hangup pppl

повесит трубку модема, использующего интерфейс pppl. Помните, что первый модем имеет имя ррр0, поэтому вместо приведенной может потребоваться команда hangup ррр0.