Шрифт:
./fbmgr.bin -shut -password <пароль SYSDBA>
Используйте команду для версий, предшествующих 1.5:
./ibmgr.bin -shut -password <пароль SYSDBA>
На этой платформе Firebird не имеет утилиты для подсчета количества пользовательских соединений с базой данных для Суперсервера. Если вам нужно предоставить клиентам интервал времени для завершения работы и корректного отключения, завершайте работу индивидуальных баз данных с использованием инструмента gfix с переключателем -shut и одним из доступных аргументов для управления отключением. (См. разд. "Останов базы данных" в главе 39.)
Синтаксис
Из командной строки:
./fbmgr.bin -команда [-режим [параметр] ...]
Альтернативно вы можете стартовать интерактивную сессию fbmgr или ibmgr из командной строки (например, перейдя в режим с подсказкой). Наберите:
./fbmgr <нажмите Return/Enter>
для того чтобы перейти к следующей подсказке:
FBMGR>
В режиме с подсказкой синтаксис команд:
FBMGR> команда [-режим [параметр] ...]
Например, вы можете запустить сервер одним из следующих способов. Из командной строки:
./fbmgr -start -password пароль В режиме с подсказкой:
FBMGR> start -password пароль
В табл. 4.1 представлен список переключателей fbmgr и ibmgr, доступных из командной строки и из режима с подсказкой.
Таблица 4.1. Переключатели fbmgr/ibmgr
Переключатель | Аргумент | Другие переключатели | Описание |
– start | – forever | once | – user, -password | Запускает fbserver, если он не был еще запущен |
– shut | – user, -password | Останавливает fbserver | |
– show | Показывает хост и пользователя | ||
– user | Имя пользователя | SYSDBA; используется с переключателями -start и -stop, если пользователь системы не является root или эквивалентным ему | |
– password | Пароль SYSDBA | Используется с переключателями -start и -stop, если пользователь системы не является root или эквивалентным ему | |
– help | Выводит короткий текст помощи fbmgr | ||
– quit | Используется для выхода из режима с подсказками |
Классический сервер
Классический сервер Firebird использует процессы xinetd или inetd для обработки поступающих запросов. (Применяемый процесс зависит от версии Linux.) Нет необходимости явно запускать сервер. Процесс xinetd или inetd запускается автоматически; когда он получает запрос от клиента Firebird на соединение, он порождает копию процесса fbinetserver для этого клиента.
Если Классический сервер Firebird был установлен инсталлятором, использующим скрипты или RPM, то файл конфигурации запуска для fb inet server с именем firebird должен быть добавлен в сервисы, о которых знает [x]inetd. В большинстве дистрибутивов Linux этот файл размещается в каталоге /etc/xinetd.d. Чтобы [x]inetd "слушал" запросы на соединение от клиентов для вашего Классического сервера Firebird, скрипт firebird должен находиться в том же каталоге, где стартует процесс [x]inetd.
! ! !
СОВЕТ. Если [x]inetd запущен, и ни одного запроса на соединение клиента не последовало вовсе, проверьте, действительно ли скрипт firebird находится там, где он должен быть. Если нет, то вы можете выделить скрипт firebird.xinetd из файлового комплекта инсталляции, скопировать в нужный каталог и переименовать в firebird. Чтобы [x]inetd "видел" сервис Firebird, остановите и заново запустите [x]inetd.
. ! .
Демон [x]inetd сам является сервисом, который по запросу управляет другими сервисами, например Классическим демоном Firebird. Остановка [x]inetd приведет к тому, что все процессы, которыми он управляет, будут также остановлены. Его запуск или повторный запуск приведет к возобновлению прослушивания запросов и запуску управляемых им процессов.
Если все сервисы в каталоге ../rc.d являются безопасными для остановки, соединитесь как пользователь root и остановите [x]inetd следующей командой из командной строки:
ft service xinetd stop или командой:
# service inetd stop
Если [x]inetd не был сконфигурирован для автоматического перезапуска после остановки, запустите его командой [6] :
# service xinetd restart
Если вам нужно остановить вышедший из-под контроля процесс Firebird в Классическом сервере, вы можете это сделать. Найдите ошибочный процесс, выполнив команду top из командной строки. Эта утилита отображает список наиболее интенсивно использующих CPU процессов, постоянно обновляя этот список. Любой экземпляр fb inet server с необычным использованием ресурсов должен появиться в этом списке.
6
По умолчанию [x]inetd в своем файле конфигурации имеет ограничение на число стартуемых экземпляров конктретного сервиса. Это может проявляться как ошибка при подключении очередного пользователя (напрмер, невозможно подключить более 60 пользователей). Отредактируйте файл конфигурации [x]inetd и установите желаемый лимит количества сервисов fb_inet_server, т.е. количества подключний к Классическому серверу FireBird. Прим. науч. ред.
Выберите идентификатор (process ID, PID) ошибочного процесса fb_inet_server из самой левой колонки в списке. Вы можете использовать этот PID в команде kill для посылки сигнала ошибочному процессу. Например, для PID 12345 вы можете попытаться остановить процесс, выдав:
# kill 12345
Если процесс остается видимым в списке утилиты top, вы можете попытаться форсировать остановку процесса:
# kill -9 12345
! ! !
ВНИМАНИЕ! Проявляйте величайшую осторожность при использовании команды kill, особенно если вы подключились как пользователь root.