Читаем Искусство программирования на языке сценариев командной оболочки полностью

# ... чтобы не уничтожить этим сценарием какой-нибудь процесс.

#

# Если с помощью этого сценария вы задумаете разрыватть связь с Internet, то

# process=pppd

t=`pidof $process` # Поиск pid (process id) процесса $process.

# pid требует команда 'kill' (невозможно остановить процесс, указав его имя).

if [ -z "$t" ] # Если процесс с таким именем не найден, то 'pidof' вернет null.

then

echo "Процесс $process не найден."

exit $NOPROCESS

fi

kill $t # В некоторых случаях может потребоваться 'kill -9'.

# Здесь нужно проверить -- был ли уничтожен процесс.

# Возможно так: " t=`pidof $process` ".

# Этот сценарий мог бы быть заменен командой

# kill $(pidof -x process_name)

# но это было бы не так поучительно.

exit 0

fuser

Возвращает идентификаторы процессов, использующих указанный файл(ы) или каталог. С ключом -k, завершает найденные процессы. Может с успехом использоваться для защиты системы, особенно в сценариях разграничения доступа к системным службам.

crond

Планировщик заданий. С его помощью выполняются такие задачи, как очистка и удаление устаревших файлов системных журналов, обновление базы данных slocate. Это суперпользовательская версия команды at (хотя любой пользователь может создать собственную таблицу crontab). Эта утилита запускается как фоновый процесс-daemon и выполняет задания, находящиеся в файле /etc/crontab.

Команды управления процессами и загрузкой

init

init -- предок (родитель) всех процессов в системе. Вызывается на последнем этапе загрузки системы и определяет уровень загрузки (runlevel) из файла /etc/inittab.

telinit

Символическая ссылка на init -- инструмент для смены уровня загрузки (runlevel), как правило используется при обслуживании системы или восстановлении файловой системы. Может быть вызвана только суперпользователем. Эта команда может быть очень опасна, при неумелом обращении -- прежде чем использовать ее, убедитесь в том, что вы совершенно точно понимаете что делаете!

runlevel

Выводит предыдущий и текущий уровни загрузки (runlevel). Уровень загрузки может иметь одно из 6 значений: 0 -- остановка системы, 1 -- однопользовательский режим, 2 или 3 -- многопользовательский режим, 5 -- многопользовательский режим и запуск X Window, 6 -- перезагрузка. Уровни загрузки определяются из файла /var/run/utmp.

halt, shutdown, reboot

Набор команд для остановки системы, обычно перед выключением питания.

Команды для работы с сетью

ifconfig

Утилита конфигурирования и запуска сетевых интерфейсов. Чаще всего используется в сценариях начальной загрузки системы, для настройки и запуска сетевых интерфейсов или для их остановки перед остановкой или перезагрузкой.

# Фрагменты кода из /etc/rc.d/init.d/network

# ...

# Проверка сетевой полсистемы.

[ ${NETWORKING} = "no" ] && exit 0

[ -x /sbin/ifconfig ] || exit 0

# ...

for i in $interfaces ; do

if ifconfig $i 2>/dev/null | grep -q "UP" >/dev/null 2>&1 ; then

action "Останавливается $i: " ./ifdown $i boot

fi

# Ключ "-q", характерный для GNU-версии "grep", означает "quiet" ("молча"), т.е. подавляет вывод.

# Поэтому нет необходимости переадресовывать вывод на /dev/null.

# ...

echo "В настоящее время активны устройства:"

echo `/sbin/ifconfig | grep ^[a-z] | awk '{print $1}'`

# ^^^^^ скобки необходимы для предотвращения подстановки имен файлов (globbing).

# Следующий код делает то же самое.

# echo $(/sbin/ifconfig | awk '/^[a-z]/ { print $1 })'

# echo $(/sbin/ifconfig | sed -e 's/ .*//')

# Спасибо S.C. за комментарии.

См. также Пример 29-6.

route

Выводит сведения о таблице маршрутизации ядра или вносит туда изменения.

bash$ route

Destination Gateway Genmask Flags MSS Window irtt Iface

pm3-67.bozosisp * 255.255.255.255 UH 40 0 0 ppp0

127.0.0.0 * 255.0.0.0 U 40 0 0 lo

default pm3-67.bozosisp 0.0.0.0 UG 40 0 0 ppp0

chkconfig

Проверка сетевой конфигурации. Обслуживает список, запускаемых на этапе загрузки, сетевых сервисов, список сервисов хранится в каталогах /etc/rc?.d (строго говоря, chkconfig работает не только с сетевыми сервисами, а с сервисами вообще, не зависимо от того сетевые это службы или нет. прим. перев.).

Изначально эта утилита была перенесена в Red Hat Linux из ОС IRIX, chkconfig входит в состав далеко не всех дистрибутивов Linux.

bash$ chkconfig --list

atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

rwhod 0:off 1:off 2:off 3:off 4:off 5:off 6:off

...

tcpdump

"Сниффер" ("sniffer") сетевых пакетов. Инструмент для перехвата и анализа сетевого трафика по определенным критериям.

Дамп трафика ip-пакетов между двумя узлами сети -- bozoville и caduceus:

bash$ tcpdump ip host bozoville and caduceus

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных