Как открыть диспетчер устройств в Windows 10, 7, 8 и XP
Открыть диспетчер устройств достаточно просто и сделать это можно несколькими способами. Давайте разберем их на примере Windows 10, 7, 8 и XP. И выясним, чем они отличаются и есть ли универсальные решения, как для компьютеров, так и для ноутбуков.
Выполнять процедуру следует через учетную запись, которая обладает соответствующими привилегиями, например, «Администратор». Тогда все будет работать как положено, и вы сможете вносить какие-либо изменения в устройства.
Запуск в Windows 10
В десятой версии разработчики убрали стандартную функцию вызова через меню главного значка «Мой компьютер» и сделали все намного удобнее.
Специальное меню
В Windows 10 было добавлено специальное меню, через которое можно быстро вызвать диспетчер устройств.
Для этого:
- Нажмите сочетание клавиш «Win+X» и щелкните мышкой по нужному пункту.
Функция поиска
Воспользуйтесь горячими клавишами «Win+S» для открытия поиска или нажмите на иконку в нижнем левом углу рабочего стола рядом с пуском. Затем введите в строку соответствующую фразу, дождитесь пока диспетчер устройств отобразится в списке, после чего щелкните по нему мышкой.
PowerShell
Зайдите в оболочку воспользовавшись поиском, введя название «PowerShell», затем введите в консоль devmgmt.msc и нажмите «Enter».
Через интерфейс Windows 7, 8
Пользователи Windows 7 и 8 могут зайти в диспетчер устройств используя стандартный интерфейс системы.
Сделать это достаточно просто, для этого выполните несколько несложных действий, а именно:
- Перейти в «Пуск», затем в «Панель управления». Эту же панель можно найти через функцию поиска доступную в меню «Пуск».
- Выбрать в разделе «Просмотр» отображение «Мелких значков», найти требуемый компонент и запустить его.
Запуск в Windows XP
По сравнению с более новыми ОС, в Windows XP диспетчер устройств открывается немного другим способом. Давайте разберем два варианта запуска через стандартный интерфейс системы.
Первый вариант:
- Нажать по иконке «Мой компьютер» правой мышкой и в открывшемся списке выбрать опцию «Свойства».
- После запуска окна со свойствами, переходим в раздел «Оборудование» — здесь и находится нужный компонент.
Второй вариант:
- Откройте в нижней панели «Пуск», выберите «Панель управления».
- Далее зайдите в раздел «Система».
- Перейдите во вкладку «Оборудование» и запустите необходимый компонент.
Универсальные способы
Также существуют более универсальные способы с помощью которых можно зайти в диспетчер устройств независимо от используемого типа операционной системы. Они универсальны и подходят для всех ОС, включая Windows 10, 7, 8 и XP.
Диалоговое окно «Выполнить»
Запустите окно выполнения команд комбинацией клавиш «Win+R», введите в строку devmgmt.msc и щелкните по кнопке «Enter».
Это же окно можно найти через «Пуск» или воспользовавшись поиском.
Командная строка
Диспетчер устройств можно открыть через командную строку. Для этого необходимо:
- Комбинацией клавиш «Win+R» открываем строку «Выполнить».
- Вводим в нее команду «cmd» нажимаем «OK».
- Далее запускается командная строка, нам остается ввести следующее «mmc devmgmt.msc», и нажать «Enter» на клавиатуре.
После чего все будет происходить в следующем порядке:
- При входе через учетную запись администратора откроется нужное окошко;
- При входе через пользователя из группы «Администраторы» диспетчер откроется после нажатия «Продолжить»;
- При входе из-под обычного пользователя, после нажатия «ОК», ДУ откроется в режиме просмотра.
Через «Управление компьютером»
Теперь давайте рассмотрим еще один легкий способ запуска диспетчера устройств. Способ одинаково подходит как для Windows 7, 10, так и для Windows 8. Необходимо выполнить следующее:
- Нажимаем правой мышкой по иконке «Компьютер» и в выпадающем списке выбираем «Управление».
- В области переходов слева перемещаемся в требуемый раздел.
Примечание:
- Если работа ведется с учетной записи «Администратор», то ДУ будет отображен в этом же окне по центру;
- Если произведен вход из-под учетной записи обычного пользователя, то нужная вкладка будет открыта в режиме просмотра, так как данный пользователь из-за недостатка привилегий не может вносить изменения;
В панель управления также можно войти при помощи командной строки. Для этого необходимо открыть строку «Выполнить» и в поле ввести команду «mmc compmgmt.msc». После этого повторите вышеизложенную процедуру.
Через удаленный компьютер
Попасть в диспетчер устройств можно через удаленный доступ. Процедура не самая легкая, а потому использовать ее следует, когда ничего другое не помогает. Также между компьютером или ноутбуком, к которому планируется получить доступ должна работать сеть.
Подробная инструкция о том, как это сделать:
- Войти в раздел «Управление компьютером» одним из вышеперечисленных способов.
- Найти меню «Действие» и выбрать пункт «Подключится к другому …».
- В окне выбора сделайте одно из ниже предложенных действий: 1) В поле «Другой компьютер» напишите имя ПК, к которому нужен доступ, и кликните «ОК»; 2) Нажмите «Обзор / Дополнительно» и найдите нужное устройство.
- Выберите его и кликните «ОК»
После успешного подключения в левом верхнем углу будет отображено имя ПК.
В случае с удаленным ПК доступ предоставляется исключительно в режиме просмотра. То есть, вы не сможете изменять параметры устройств.
Где находится исполняемый файл диспетчера устройств
Если ничего из вышеперечисленного не помогло, то вы можете вручную найти и открыть исполняемый файл диспетчера устройств.
Для этого требуется:
- Войти на диск с установленной ОС. Обычно он имеет букву «C».
- Переместиться в папку «Windows / System32» и найти файл с именем «devmgmt».
- С помощью правого щелчка мыши запустить его от имени администратора.
Если все сделано правильно, то отобразится соответствующее окно.
Решение распространенных проблем
Не исключено, что в процессе вы можете столкнуться с рядом проблем. Исправить их достаточно легко, просто действуя по инструкции.
- Иногда Windows может блокировать открытие диспетчера устройств в целях защиты. Как правило при этом появляется сообщение «Администратор заблокировал выполнение этого приложения». Исправляется это путем отключения контроля учетных записей «UAC».
- Если вы испробовали все способы и ни один из них не работает, то дело может быть в поврежденных системных файлах. В таком случае проведите стандартную проверку диска.
После того, как все проблемы будут устранены попробуйте повторно включить диспетчер устройств.
Инструкция по работе
В первую очередь его используют для управления установленными драйверами и просмотра подробной информации об установленном оборудовании.
Главный раздел состоит из списка рубрик, просмотреть которые можно нажав по стрелке слева от названия. После чего отобразится список подключенных элементов к Пк. Например, в категории «Видеоадаптеры» будут расположены видеокарты (внешние или внутренние), если у вас подключены 2 внешние видеокарты, то отобразятся все две.
Для того чтобы получить развернутую информацию об объекте, нажмите по нему правой кнопкой мыши и войдите в «Свойства».
Появится окошко, состоящее из 1-5 вкладок.
- В разделе «Общие» — отображается информация о наименовании (модели), фирмы производителя и текущем состоянии.
- В разделе «Драйверы» — располагаются данные о драйвере, о разработчике, его версии и даты разработки. По мере необходимости его можно обновить, откатить или вовсе удалить.
- Во вкладке «Сведения» — содержится информация о различных свойствах оборудования.
- Во вкладке «Ресурсы» — отображается информация о расходуемых системных ресурсах.
Подробный видео урок
Как получить доступ к диспетчеру устройств из командной строки
Автор Глеб Захаров На чтение 4 мин. Просмотров 58 Опубликовано
Используйте командную строку, чтобы открыть диспетчер устройств с этим трюком
Один из действительно простых способов запустить диспетчер устройств в любой версии Windows – из командной строки.
Просто введите команду devmgmt.msc или одну из трех других, описанных ниже, и voilà … Диспетчер устройств запускается прямо сейчас!
Помимо того, что он является одним из самых быстрых способов открыть его, знание команды запуска для Диспетчера устройств должно пригодиться и для других вещей. Для сложных задач, таких как написание сценариев командной строки, потребуется команда диспетчера устройств, а также другие задачи программирования в Windows.
Вам неудобно работать с командами? Вы не должны быть, но есть много других способов запустить диспетчер устройств. См. Как открыть диспетчер устройств в Windows для справки.
Как получить доступ к диспетчеру устройств из командной строки
Требуемое время . Доступ к диспетчеру устройств из командной строки или к другому инструменту командной строки в Windows должен занимать менее минуты, даже если вы выполняете команды впервые.
Вы можете открыть диспетчер устройств через командную строку независимо от того, какую версию Windows вы используете – Windows 10, Windows 8, Windows 7, Windows Vista или Windows XP. Команда одинакова в каждой из этих операционных систем Windows.
Для доступа к диспетчеру устройств из командной строки выполните следующие простые действия:
Откройте командную строку. Это так же просто, как поиск cmd в меню «Пуск» или на панели поиска в большинстве версий Windows.
Вы также можете сделать это с правами администратора, открыв командную строку с повышенными правами, но вам не нужно открывать командную строку с правами администратора, чтобы получить доступ к диспетчеру устройств из командной строки.
Командная строка – это самый всеобъемлющий способ запуска команд в Windows, но следующие шаги могут быть выполнены с помощью инструмента «Выполнить» или даже из Cortana или панели поиска в более новых версиях Windows.
Основной способ открыть диалоговое окно «Выполнить» – с помощью клавиатуры: нажмите и удерживайте клавишу Windows , а затем нажмите R один раз. Другой способ – через диспетчер задач, который вы можете сделать, если рабочий стол Windows потерпел крах, и вы можете открыть только диспетчер задач; Для этого перейдите в
После того, как откроется командная строка или окно «Выполнить», введите любой из следующих параметров и нажмите Enter :
devmgmt.msc
или же
mmc devmgmt.msc
Диспетчер устройств должен открыться немедленно.
MSC-файлы, которые являются XML-файлами, используются в этих командах, поскольку диспетчер устройств является частью консоли управления Microsoft, которая является встроенным инструментом Windows, открывающим файлы такого типа.
Теперь вы можете использовать Диспетчер устройств для обновления драйверов, просмотра состояния устройства, управления системными ресурсами, назначенными Windows вашему оборудованию, и многим другим.
Два альтернативных метода диспетчера устройств CMD
В Windows 10, 8, 7 и Vista диспетчер устройств включен в качестве апплета на панели управления. Это означает, что есть доступная связанная команда апплета Панели управления.
На самом деле два из них:
control/name Microsoft.DeviceManager
или же
control hdwwiz.cpl
Оба работают одинаково хорошо, но должен выполняться из командной строки или диалогового окна «Выполнить», а не из Cortana или других универсальных окон поиска.
Независимо от того, как вы открываете его – с помощью панели управления, запуска, ярлыка на рабочем столе, командной строки, BAT-файла, PowerShell и т. Д. – диспетчер устройств работает одинаково, выглядит одинаково и обладает точно такими же функциями. Вы просто выбираете один из нескольких ярлыков, чтобы открыть файл.
Ресурсы диспетчера устройств
Вот несколько статей с дополнительной информацией и руководствами по диспетчеру устройств:
- Как включить устройство в диспетчере устройств в Windows?
- Как отключить устройство в диспетчере устройств в Windows?
- Как просмотреть состояние устройства в диспетчере устройств в Windows?
- Почему в диспетчере устройств есть красный крестик?
- Почему в диспетчере устройств есть черная стрелка?
- Что это за желтый восклицательный знак в диспетчере устройств?
- Список кодов ошибок диспетчера устройств
Как открыть диспетчер устройств — Простая инструкция с картинками
Инструмент «Диспетчер устройств», присутствующий в большинстве версий Windows, используется для управления установленным оборудованием. С помощью этого инструмента вы можете найти все установленные аппаратные устройства, такие как мониторы, сетевые адаптеры, видеоадаптеры, клавиатуры, дисководы, аудиовходы и выходы, звуковые, видео и игровые контроллеры и т. Д. Если есть проблема с любым установленным оборудованием или связанных драйверов, диспетчер устройств можно использовать для устранения неполадок.
С помощью диспетчера устройств вы можете получить информацию об установленных аппаратных устройствах и драйверах, а также отключить конкретное устройство, обновить или удалить драйверы автоматически или вручную, откатить драйвер к его предыдущему состоянию (версии), выполнить сканирование на предмет изменений оборудования и настроить параметры управления питанием. Если некоторые устройства «скрыты», вы можете раскрыть их с помощью диспетчера устройств.
Открыть диспетчер устройств с помощью поиска Windows 10
Один из самых простых способов получить доступ к диспетчеру устройств в Windows 10 — просто ввести «диспетчер устройств» в поиске и щелкнуть результат «Диспетчер устройств».
Откройте диспетчер устройств с помощью поиска Windows 7
Если вы используете Windows 7, это практически то же самое. Нажмите кнопку Пуск и просто введите «Диспетчер устройств» в поиске, а затем нажмите кнопку «Диспетчер устройств» результат.
Открыть диспетчер устройств из быстрого доступа Windows 10
Этот метод является самым быстрым способом открыть диспетчер устройств. Вы можете получить доступ к диспетчеру устройств через быстрый доступ всего двумя щелчками мыши: щелкнув правой кнопкой мыши меню «Пуск», а затем щелкнув результат «Диспетчер устройств».
Откройте диспетчер устройств из панели управления Windows 10
Другой способ получить доступ к диспетчеру устройств — использовать панель управления. Если вы используете Windows 10, введите «панель управления» в поиске и щелкните результат «Панель управления».
В Панели управления вы увидите список настроек компьютера. Если меню отличается от нашего снимка экрана, настройте его отображение с помощью «мелкие значки», отрегулировав настройки представления меню в правом верхнем углу. Затем найдите в списке «Диспетчер устройств» и щелкните его.
Откройте диспетчер устройств из панели управления Windows 7
Если вы используете Windows 7, нажмите кнопку меню «Пуск» и выберите «Панель управления».
В окне Панели управления вы увидите список настроек. Если меню отличается от нашего снимка экрана, установите его для просмотра с помощью «Мелкие значки», отрегулировав параметры просмотра меню в правом верхнем углу. Затем найдите в списке «Диспетчер устройств» и щелкните его.
Откройте диспетчер устройств с помощью команды «Выполнить» Windows 10
Чтобы открыть диспетчер устройств, сначала нужно открыть диалоговое окно «Выполнить». Если вы пользователь Windows 10, вы можете открыть «Выполнить» несколькими способами. Вы можете щелкнуть правой кнопкой мыши кнопку «Пуск» и выбрать «Выполнить» из контекстного меню или нажмите клавиши Windows + R на клавиатуре, или введите «Выполнить» в поиске и щелкните результат «Выполнить».
В «Выполнить» введите команду «devmgmt.msc» и нажмите Enter на клавиатуре или нажмите «ОК». Откроется диспетчер устройств.
Откройте диспетчер устройств с помощью команды «Выполнить» Windows 7
Если вы используете Windows 7, введите «Выполнить» в поиске и щелкните результат «Выполнить» или нажмите клавиши Windows + R на клавиатуре.
Теперь введите ту же команду «devmgmt.msc» и нажмите Enter на клавиатуре или нажмите «ОК». Откроется диспетчер устройств.
Мы надеемся, что эта статья была полезна для открытия Диспетчера устройств различными способами в Windows 10 и 7. Если у вас есть какие-либо вопросы по этой теме, оставьте комментарий в разделе ниже.
Запуск диспетчера устройств
Диспетчер устройств можно запустить несколькими способами. В этом разделе описаны две процедуры, позволяющие запускать диспетчер устройств в операционных системах Windows Vista® и Windows Server® 2008 как из графического интерфейса Windows, так и из командной строки.
Для выполнения данной процедуры можно использовать любую учетную запись пользователя. Однако только члены группы Администраторы могут вносить изменения в устройства.
Окно диспетчера устройств можно открыть любым из следующих способов:
С использованием интерфейса Windows
В следующей ниже процедуре показано, как открыть диспетчер устройств из интерфейса Windows.
Чтобы открыть диспетчер устройств с использованием интерфейса Windows |
-
В меню Пуск выберите команду Панель управления.
-
Нажмите кнопку Оборудование и звук.
-
Нажмите кнопку Диспетчер устройств. Произойдет одно из следующих действий:
- При входе с встроенной учетной записью «Администратор» будет открыто окно диспетчера устройств.
- Если вход выполнен от имени пользователя, который является членом группы «Администраторы», откроется диалоговое окно Контроль учетных записей пользователей. Чтобы открыть диспетчер устройств, нажмите в этом окне кнопку Продолжить.
- При входе с учетной записью обычного пользователя будет выведено сообщение, указывающее, что данный пользователь не может делать какие-либо изменения в отношении устройств. Нажмите кнопку ОК, чтобы открыть диспетчер устройств в режиме просмотра.
С помощью командной строки
В следующей ниже процедуре показано, как открыть диспетчер устройств из командной строки.
Чтобы открыть диспетчер устройств с помощью командной строки |
-
В командной строке в поле Начать поиск или в поле Выполнить введите следующую команду:
Произойдет одно из следующих действий:
- Если вход выполнен с помощью встроенной учетной записи администратора, откроется диспетчер устройств.
- Если вход выполнен от имени пользователя, который является членом группы «Администраторы», откроется диалоговое окно Контроль учетных записей пользователей. Чтобы открыть диспетчер устройств, нажмите в этом окне кнопку Продолжить.
- Если вход выполнен от имени обычного
пользователя, появится сообщение о том, что изменения параметров
устройств невозможны. Нажмите кнопку
В окне «Управление компьютером»
В следующей ниже процедуре показано, как открыть окно «Управление компьютером», одним из компонентов которого является диспетчер устройств.
Примечание | |
Эта процедура действует только в ОС Windows Vista. В ОС Windows Server 2008, при выполнении приведенных ниже шагов будет запущена программа «Управление сервером». Чтобы запустить программу «Управление компьютером» в ОС Windows Server 2008, выполните шаги следующей процедуры с помощью командной строки. |
Чтобы открыть окно «Управление компьютером» с использованием интерфейса Windows |
-
Нажмите кнопку Пуск, щелкните правой кнопкой мыши Компьютер и выберите команду Управление.
Произойдет одно из указанных ниже событий.
- При входе с встроенной учетной записью «Администратор» будет открыто окно «Управление компьютером».
- При входе в систему в качестве пользователя, который является членом группы «Администраторы», будет открыто диалоговое окно Контроль учетных записей пользователей, где необходимо нажать кнопку Продолжить, чтобы открыть окно «
— Configuration Manager
- 28 минут на чтение
В этой статье
Применимо к: Configuration Manager (текущая ветвь)
Используйте следующую информацию для настройки сценариев или для установки Configuration Manager из командной строки.
Параметры командной строки для настройки
Запустите установку из каталога \ BIN \ X64
пути установки Configuration Manager на сервере сайта.
/ УДАЛИТЬ
Удалить сайт. Запустите установку с компьютера сервера сайта.
/ DONTSTARTSITECOMP
Установить сайт, но не запускает службу диспетчера компонентов сайта. Пока служба диспетчера компонентов сайта не запустится, сайт неактивен. Менеджер компонентов сайта отвечает за установку и запуск службы SMS_Executive, а также за дополнительные процессы на сайте. После завершения установки сайта при запуске службы диспетчера компонентов сайта она устанавливает службу SMS_Executive и дополнительные процессы, необходимые для работы сайта.
/ СКРЫТЫЙ
Скрыть пользовательский интерфейс во время настройки. Используйте эту опцию только вместе с опцией / SCRIPT . В файле сценария автоматической установки должны быть указаны все необходимые параметры, иначе установка не удастся.
/ NOUSERINPUT
Отключить ввод данных пользователем во время установки, но отобразить мастер установки. Используйте эту опцию только вместе с опцией / SCRIPT . В файле сценария автоматической установки должны быть указаны все необходимые параметры, иначе установка завершится ошибкой.
/ ОБНОВЛЕНИЕ
Выполните сброс сайта, который сбрасывает учетные записи базы данных и служб для сайта.
Для получения дополнительной информации см. Выполнение сброса сайта.
/ ТЕСТDBUPGRADE
Запустите тест на резервной копии базы данных сайта, чтобы убедиться, что база данных может обновляться.
Важно
Не запускайте этот параметр командной строки в базе данных рабочего сайта. Запуск этого параметра командной строки в базе данных рабочего сайта обновляет базу данных сайта и может вывести ваш сайт из строя.
Использование
Укажите имя экземпляра и имя базы данных для базы данных сайта. Если указать только имя базы данных, программа установки использует имя экземпляра по умолчанию.
/ TESTDBUPGRADE <Имя экземпляра> \ <Имя базы данных>
/ TESTDBUPGRADE CM_ABC
/ TESTDBUPGRADE с именем \ CM_ABC
/ ОБНОВЛЕНИЕ
Запустить автоматическое обновление сайта. Укажите ключ продукта, включая тире (–
).Также укажите путь к ранее загруженным файлам необходимых компонентов для установки.
Для получения дополнительной информации о файлах предварительных требований установки см. Загрузчик программы установки.
Использование
setupwpf.exe / UPGRADE xxxxx-xxxxx-xxxxx-xxxxx-xxxxx <путь к файлам внешних компонентов>
/ СЦЕНАРИЙ
Запустить автоматическую установку. Используйте с этой опцией файл инициализации установки. Дополнительные сведения о том, как запустить установку в автоматическом режиме, см. В разделе Установка сайтов с помощью командной строки.
Использование
/ SCRIPT <путь к сценарию установки>
/ SDKINST
Установите поставщик SMS на указанный компьютер. Укажите полное доменное имя (FQDN) для компьютера поставщика SMS. Дополнительные сведения о поставщике SMS см. В разделе План для поставщика SMS.
Использование
/ SDKINST <полное доменное имя поставщика SMS>
/ SDKDEINST
Удалите поставщика SMS на указанном компьютере.Укажите полное доменное имя для компьютера поставщика SMS.
Использование
/ SDKDEINST <полное доменное имя поставщика SMS>
/ УПРАВЛЕНИЯ
Управляет языками, установленными на ранее установленном сайте. Укажите расположение файла языкового сценария, который содержит языковые настройки. Дополнительные сведения см. В разделе «Параметры командной строки для управления языками».
Использование
/ MANAGELANGS <Путь к языковому скрипту>
Параметры командной строки для управления языками
Идентификационный номер
Опции
Имя ключа: AddServerLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробные сведения: Задает языки сервера, которые будут доступны для консоли Configuration Manager, отчетов и объектов Configuration Manager.По умолчанию доступен английский язык.
Имя ключа: AddClientLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробности: Задает языки, которые будут доступны для клиентских компьютеров. По умолчанию доступен английский язык.
Имя ключа: DeleteServerLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробная информация: Задает языки, которые необходимо удалить и которые больше не будут доступны для консоли Configuration Manager, отчетов и объектов Configuration Manager.По умолчанию доступен английский язык, удалить его нельзя.
Имя ключа: DeleteClientLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробная информация: Задает языки, которые нужно удалить и которые больше не будут доступны для клиентских компьютеров. По умолчанию доступен английский язык, удалить его нельзя.
Имя ключа: MobileDeviceLanguage
Имя ключа: PrerequisiteComp
Требуется: Да
Значения:
0
= Скачать1
= Уже загружено
Подробная информация: Указывает, были ли уже загружены файлы предварительных требований для установки.Например, если вы используете значение
0
, программа установки загрузит файлы.
Имя ключа: PrerequisitePath
Требуется: Да
Значения: < Путь к файлам предварительных требований установки >
Подробные сведения: Указывает путь к файлам необходимых компонентов для установки. В зависимости от значения PrerequisiteComp программа установки использует этот путь для хранения загруженных файлов или для поиска ранее загруженных файлов.
Ключи файла сценария автоматической установки
Используйте следующие разделы, чтобы помочь вам создать сценарий для автоматической установки. В списках показано:
- Доступные ключи сценария настройки и их соответствующие значения
- При необходимости
- Какой тип установки они используют для
- Краткое описание ключа
Автоматическая установка для сайта центра администрирования (CAS)
Используйте следующие сведения для установки CAS с помощью файла сценария автоматической установки.
Идентификация
Имя ключа: Действие
Требуется: Да
Значения:
InstallCAS
Подробная информация: Устанавливает CAS.
Имя ключа: CDLatest
Обязательно: Да, только при использовании носителя с компакт-диска. Последняя папка.
Значения:
Подробности: При установке или восстановлении первичного сайта или CAS и запуске установки с компакт-диска.Последняя папка, включите этот ключ и значение. Это значение сообщает программе установки, что вы используете носитель с компакт-диска.
Опции
Имя ключа: ProductID
Имя ключа: SiteCode
Требуется: Да
Значения: < Код сайта >, например
ABC
Подробные сведения: Задает три буквенно-цифровых символа, которые однозначно идентифицируют сайт в вашей иерархии.
Название ключа: Название сайта
Имя ключа: SMSInstallDir
Имя ключа: SDKServer
Требуется: Да
Значения: < Полное доменное имя поставщика SMS >
Подробные сведения: Задает полное доменное имя для сервера, на котором будет размещен поставщик SMS. Вы можете настроить дополнительных поставщиков SMS для сайта после первоначальной установки.
Имя ключа: PrerequisiteComp
Требуется: Да
Значения:
0
= Скачать1
= Уже загружено
Подробная информация: Указывает, были ли уже загружены файлы предварительных требований для установки. Например, если вы используете значение
0
, программа установки загрузит файлы.
Имя ключа: PrerequisitePath
Требуется: Да
Значения: < Путь к файлам предварительных требований установки >
Подробные сведения: Указывает путь к файлам необходимых компонентов для установки. В зависимости от значения PrerequisiteComp программа установки использует этот путь для хранения загруженных файлов или для поиска ранее загруженных файлов.
Имя ключа: Консоль администратора
Имя ключа: JoinCEIP
Примечание
Начиная с версии 1802 Configuration Manager, функция CEIP удаляется из продукта.
Имя ключа: AddServerLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробные сведения: Задает языки сервера, которые будут доступны для консоли Configuration Manager, отчетов и объектов Configuration Manager. По умолчанию доступен английский язык.
Имя ключа: AddClientLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробности: Задает языки, которые будут доступны для клиентских компьютеров.По умолчанию доступен английский язык.
Имя ключа: DeleteServerLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробная информация: Изменяет сайт после его установки. Задает языки, которые нужно удалить и которые больше не будут доступны для консоли Configuration Manager, отчетов и объектов Configuration Manager.По умолчанию доступен английский язык, удалить его нельзя.
Имя ключа: DeleteClientLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробная информация: Изменяет сайт после его установки. Задает языки, которые нужно удалить и которые больше не будут доступны для клиентских компьютеров.По умолчанию доступен английский язык, удалить его нельзя.
Имя ключа: MobileDeviceLanguage
SQLConfigOptions
CloudConnectorOptions
SABranchOptions
Имя ключа: SAActive
Требуется: Нет
Значения:
Подробности: Укажите, есть ли у вас активная программа Software Assurance.Для получения дополнительной информации см. Часто задаваемые вопросы о продукте и лицензировании.
Название ключа: CurrentBranch
Автоматическая установка для первичного сайта
Используйте следующие сведения для установки первичного сайта с помощью файла сценария автоматической установки.
Идентификация
Имя ключа: Действие
Имя ключа: CDLatest
Обязательно: Да, только при использовании носителя с компакт-диска.Последняя папка.
Значения:
Подробности: Когда вы устанавливаете или восстанавливаете первичный сайт или CAS и запускаете установку с папки CD.Latest, включите этот ключ и значение. Это значение сообщает программе установки, что вы используете носитель с компакт-диска.
Опции
Имя ключа: ProductID
Имя ключа: SiteCode
Имя ключа: SiteName
Имя ключа: SMSInstallDir
Имя ключа: SDKServer
Требуется: Да
Значения: < Полное доменное имя поставщика SMS >
Подробные сведения: Задает полное доменное имя для сервера, на котором будет размещен поставщик SMS.Вы можете настроить дополнительных поставщиков SMS для сайта после первоначальной установки.
Имя ключа: PrerequisiteComp
Требуется: Да
Значения:
0
= Скачать1
= Уже загружено
Подробная информация: Указывает, были ли уже загружены файлы предварительных требований для установки.Например, если вы используете значение
0
, программа установки загрузит файлы.
Имя ключа: PrerequisitePath
Требуется: Да
Значения: < Путь к файлам предварительных требований установки >
Подробные сведения: Указывает путь к файлам необходимых компонентов для установки. В зависимости от значения PrerequisiteComp программа установки использует этот путь для хранения загруженных файлов или для поиска ранее загруженных файлов.
Имя ключа: Консоль администратора
Имя ключа: JoinCEIP
Примечание
Начиная с версии 1802 Configuration Manager, функция CEIP удаляется из продукта.
Имя ключа: ManagementPoint
Имя ключа: ManagementPointProtocol
Имя ключа: DistributionPoint
Имя ключа: DistributionPointProtocol
Имя ключа: RoleCommunicationProtocol
Требуется: Да
Значения:
EnforceHTTPS
илиHTTPorHTTPS
Подробные сведения: Указывает, следует ли настроить все системы сайта на прием только HTTPS-соединений от клиентов или настроить метод связи для каждой роли системы сайта.При выборе
EnforceHTTPS
клиенты должны иметь действующий сертификат инфраструктуры открытого ключа (PKI) для аутентификации клиента.
Имя ключа: ClientsUsePKICertificate
Имя ключа: AddServerLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробные сведения: Задает языки сервера, которые будут доступны для консоли Configuration Manager, отчетов и объектов Configuration Manager.По умолчанию доступен английский язык.
Имя ключа: AddClientLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробности: Задает языки, которые будут доступны для клиентских компьютеров. По умолчанию доступен английский язык.
Имя ключа: DeleteServerLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробная информация: Изменяет сайт после его установки.Задает языки, которые нужно удалить и которые больше не будут доступны для консоли Configuration Manager, отчетов и объектов Configuration Manager. По умолчанию доступен английский язык, удалить его нельзя.
Имя ключа: DeleteClientLanguages
Требуется: Нет
Значения: DEU, FRA, RUS, CHS, JPN, CHT, CSY, ESN, HUN, ITA, KOR, NLD, PLK, PTB, PTG, SVE, TRK или ZHH
Подробная информация: Изменяет сайт после его установки.Задает языки, которые нужно удалить и которые больше не будут доступны для клиентских компьютеров. По умолчанию доступен английский язык, удалить его нельзя.
Имя ключа: MobileDeviceLanguage
SQLConfigOptions
HierarchyExpansionOption
CloudConnectorOptions
SABranchOptions
Имя ключа: SAActive
Требуется: Нет
Значения:
Подробности: Укажите, есть ли у вас активная программа Software Assurance.Для получения дополнительной информации см. Часто задаваемые вопросы о продукте и лицензировании.
Название ключа: CurrentBranch
Автоматическое восстановление для CAS
Используйте следующие сведения для восстановления CAS с помощью файла сценария автоматической установки.
Идентификация
Имя ключа: Действие
Требуется: Да
Значения:
RecoverCCAR
Подробная информация: Восстанавливает CAS.
Имя ключа: CDLatest
Обязательно: Да, только при использовании носителя с компакт-диска. Последняя папка.
Значения:
Подробности: Когда вы устанавливаете или восстанавливаете первичный сайт или CAS и запускаете установку с папки CD.Latest, включите этот ключ и значение. Это значение сообщает программе установки, что вы используете носитель с компакт-диска.
Параметры восстановления
Имя ключа: ServerRecoveryOptions
Требуется: Да
Значения:
1
= Восстановить сервер сайта и SQL Server2
= Восстановить только сервер сайта4
= Восстановить только SQL Server
Подробности: Указывает, восстанавливает ли программа установки сервер сайта, SQL Server или и то, и другое.В зависимости от указанного значения также требуются следующие параметры:
1 или 2 : Чтобы восстановить сайт с помощью резервной копии сайта, укажите значение SiteServerBackupLocation . Если вы не укажете значение, программа установки переустановит сайт, не восстанавливая его из набора резервных копий.
4 : ключ BackupLocation требуется при настройке значения 10 для ключа DatabaseRecoveryOptions , который предназначен для восстановления базы данных сайта из резервной копии.
Имя ключа: DatabaseRecoveryOptions
Название ключа: Ссылочный сайт
Обязательно: Этот ключ требуется, если параметр DatabaseRecoveryOptions имеет значение 40 .
Значения: < Полное доменное имя справочного сайта >
Подробности: Если резервная копия базы данных старше периода хранения для отслеживания изменений или когда вы восстанавливаете сайт без резервной копии, укажите ссылочный первичный сайт, который CAS использует для восстановления глобальных данных.
Если вы не укажете ссылочный сайт, а резервная копия старше срока хранения отслеживания изменений, все первичные сайты повторно инициализируются с восстановленными данными из CAS.
Если вы не укажете ссылочный сайт, а резервная копия находится в пределах периода хранения для отслеживания изменений, с первичных сайтов реплицируются только изменения, внесенные после резервной копии. Когда происходят конфликтующие изменения с разных первичных сайтов, CAS использует первое, которое он получает.
Имя ключа: SiteServerBackupLocation
Требуется: Нет
Значения: < Путь к набору резервных копий сервера сайта >
Подробная информация: Задает путь к набору резервных копий сервера сайта. Этот ключ является необязательным, если параметр ServerRecoveryOptions имеет значение 1 или 2 . Укажите значение для ключа SiteServerBackupLocation , чтобы восстановить сайт с помощью резервной копии сайта.Если вы не укажете значение, программа установки переустановит сайт, не восстанавливая его из набора резервных копий.
Имя ключа: BackupLocation
Требуется: Этот ключ требуется, когда вы настраиваете значение 1 или 4 для ключа ServerRecoveryOptions и настраиваете значение 10 для ключа DatabaseRecoveryOptions .
Значения: < Путь к набору резервных копий базы данных сайта >
Подробная информация: Задает путь к набору резервных копий базы данных сайта.
Опции
Имя ключа: ProductID
Имя ключа: SiteCode
Имя ключа: SiteName
Имя ключа: SMSInstallDir
Имя ключа: SDKServer
Требуется: Да
Значения: < Полное доменное имя поставщика SMS >
Подробные сведения: Задает полное доменное имя для сервера, на котором размещается поставщик SMS.Укажите сервер, на котором размещался поставщик SMS до сбоя.
После первоначальной установки вы можете настроить дополнительных поставщиков SMS для сайта. Дополнительные сведения о поставщике SMS см. В разделе План для поставщика SMS.
Имя ключа: PrerequisiteComp
Требуется: Да
Значения:
0
= Скачать1
= Уже загружено
Подробная информация: Указывает, были ли уже загружены файлы предварительных требований для установки.Например, если вы используете значение 0 , программа установки загрузит файлы.
Имя ключа: PrerequisitePath
Требуется: Да
Значения: < Путь к файлам предварительных требований установки >
Подробные сведения: Указывает путь к файлам необходимых компонентов для установки. В зависимости от значения PrerequisiteComp программа установки использует этот путь для хранения загруженных файлов или для поиска ранее загруженных файлов.
Имя ключа: Консоль администратора
Имя ключа: JoinCEIP
Примечание
Начиная с версии 1802 Configuration Manager, функция CEIP удаляется из продукта.
SQLConfigOptions
CloudConnectorOptions
Автоматическое восстановление для первичного сайта
Используйте следующие сведения для восстановления первичного сайта с помощью файла сценария автоматической установки.
Идентификация
Имя ключа: Действие
Имя ключа: CDLatest
Обязательно: Да, только при использовании носителя с компакт-диска. Последняя папка.
Значения:
Подробности: Когда вы устанавливаете или восстанавливаете первичный сайт или CAS и запускаете установку с папки CD.Latest, включите этот ключ и значение. Это значение сообщает программе установки, что вы используете носитель с компакт-диска.Самый последний.
Параметры восстановления
Имя ключа: ServerRecoveryOptions
Требуется: Да
Значения:
1
= Восстановить сервер сайта и SQL Server2
= Восстановить только сервер сайта4
= Восстановить только SQL Server
Подробности: Указывает, восстанавливает ли программа установки сервер сайта, SQL Server или и то, и другое.В зависимости от указанного значения также требуются следующие параметры:
1 или 2 : Чтобы восстановить сайт с помощью резервной копии сайта, укажите значение SiteServerBackupLocation . Если вы не укажете значение, программа установки переустановит сайт, не восстанавливая его из набора резервных копий.
4 : ключ BackupLocation требуется при настройке значения 10 для ключа DatabaseRecoveryOptions , который предназначен для восстановления базы данных сайта из резервной копии.
Имя ключа: DatabaseRecoveryOptions
Имя ключа: SiteServerBackupLocation
Требуется: Нет
Значения: < Путь к набору резервных копий сервера сайта >
Подробная информация: Задает путь к набору резервных копий сервера сайта. Этот ключ является необязательным, если параметр ServerRecoveryOptions имеет значение 1 или 2 .Укажите значение для ключа SiteServerBackupLocation , чтобы восстановить сайт с помощью резервной копии сайта. Если вы не укажете значение, программа установки переустановит сайт, не восстанавливая его из набора резервных копий.
Имя ключа: BackupLocation
Требуется: Этот ключ требуется, когда вы настраиваете значение 1 или 4 для ключа ServerRecoveryOptions и настраиваете значение 10 для ключа DatabaseRecoveryOptions .
Значения: < Путь к набору резервных копий базы данных сайта >
Подробная информация: Задает путь к набору резервных копий базы данных сайта.
Опции
Имя ключа: ProductID
Имя ключа: SiteCode
Имя ключа: SiteName
Имя ключа: SMSInstallDir
Имя ключа: SDKServer
Требуется: Да
Значения: < Полное доменное имя поставщика SMS >
Подробные сведения: Задает полное доменное имя для сервера, на котором размещается поставщик SMS.Укажите сервер, на котором размещался поставщик SMS до сбоя. После первоначальной установки вы можете настроить дополнительных поставщиков SMS для сайта. Дополнительные сведения о поставщике SMS см. В разделе План для поставщика SMS.
Имя ключа: PrerequisiteComp
Требуется: Да
Значения:
0
= Скачать1
= Уже загружено
Подробная информация: Указывает, были ли уже загружены файлы предварительных требований для установки.Например, если вы используете значение 0 , программа установки загрузит файлы.
Имя ключа: PrerequisitePath
Требуется: Да
Значения: < Путь к файлам предварительных требований установки >
Подробные сведения: Указывает путь к файлам необходимых компонентов для установки. В зависимости от значения PrerequisiteComp программа установки использует этот путь для хранения загруженных файлов или для поиска ранее загруженных файлов.
Имя ключа: Консоль администратора
Имя ключа: JoinCEIP
Примечание
Начиная с версии 1802 Configuration Manager, функция CEIP удаляется из продукта.
SQLConfigOptions
HierarchyExpansionOptions
CloudConnectorOptions
Справочник по командной строке
В этом разделе описывается, как работать с Oracle Java ME SDK из командной строки, а также подробно описаны инструменты командной строки, необходимые для создания и запуска приложения.
14.1 Запустите диспетчер устройств
Диспетчер устройств — это компонент, работающий как служба. Он обнаруживает устройства (реальные или эмулированные), которые соответствуют спецификации интерфейса унифицированного эмулятора ( http://java.sun.com/j2me/docs/uei_specs.pdf
), версия 1.0.2. Диспетчер устройств автоматически перезагружается каждый раз, когда вы используете SDK. Вы можете вручную запустить диспетчер устройств из сценария или командной строки.
installdir \ bin \ device-manager.exe
Чтобы просмотреть журнал действий, запустите диспетчер устройств с опцией -XenableOutput
.
14.2 Управление адресами устройств (адрес устройства)
installdir \ bin \ device-address
— это инструмент для просмотра, добавления и удаления устройств, которые SDK не может обнаружить автоматически. Эмулятор устройства Microsoft является примером такого устройства. Синтаксис:
Таблица 14-1 Адресные команды устройства
Команда | Экшен |
---|---|
| Добавьте указанный адрес. |
| Удалить указанный адрес. |
| Список всех адресов. |
| Перечислить указанный тип адреса. |
Например, следующая команда добавляет устройство:
installldir \ bin \ device-address.exe добавить ip 192.168.1.2
14.3 Параметры командной строки эмулятора
Вы можете запустить эмулятор независимо от графического интерфейса пользователя, используя bin \ emulator
. Синтаксис следующий:
параметры эмулятора
Общие параметры следующие:
Таблица 14-2 Команды эмулятора
Команда | Экшен |
---|---|
| Задает путь поиска для классов приложений.Путь состоит из каталогов, файлов ZIP и файлов JAR, разделенных точкой с запятой. |
-Dproperty = значение | Задает значение системного свойства. |
| Показать список допустимых опций. |
| Показать информацию о версии эмулятора. |
| Запустить приложение на эмуляторе, используя указанное имя экземпляра устройства. |
| Распечатать информацию о скине эмулятора в стандартном потоке вывода и немедленно выйти. Информация включает название скина, размер экрана и другие возможности. |
Это простой пример запуска эмулятора из командной строки:
эмулятор.exe -Xdescriptor: "C: \ Program Files \ Java_ME_platform_SDK_3.2 \ apps \ Games \ dist \ Games.jad" -Xdevice: JavaMEPhone2
14.3.1 Параметры MIDlet
Параметры для запуска мидлетов в эмуляторе следующие:
-Xautotest
: URL-адрес JAD-файлаЗапуск в режиме автотеста. Этот параметр устанавливает пакет MIDlet по URL-адресу, запускает его, удаляет и повторяет процесс. Цель состоит в том, чтобы запустить тестовые наборы совместимости (TCK) с эмулятором, используя тестовую программу, такую как JT Harness (
Эмуляторhttp: // jtharness.java.net
) или Java Device Test Suite (JDTShttp://java.sun.com/products/javadevice/overview.html
. Например:-Xautotest: http: // localhost: 8080 / test / getNextApp.jad
Учитывая приведенную выше команду,
-Xautotest
заставляет эмулятор повторно устанавливать, запускать и удалять первый мидлет из набора мидлетов, предоставленного через URL-адрес HTTP. Когда эмулятор запускается, он запрашивает тестовую программу, которая затем загружает и устанавливает TCK MIDletAgent.-Xdescriptor:
jad-файлУстановите мидлет, запустите его и удалите после его завершения.
-Xdomain:
имя доменаУстановить домен безопасности пакета MIDlet.
Аргумент Xjam
запускает приложение удаленно с помощью программного обеспечения для управления приложениями (AMS) для обеспечения автономной работы (OTA). Если с аргументом не указано приложение, запускается графический AMS.
-Xjam [: =
| force | list | storageNames | run = [ | ] | remove = [<имя хранилища> | <номер хранилища> | все]] Устанавливает приложение с указанным файлом JAD на устройство.
сила
. Если существующее приложение имеет то же имя хранилища, что и приложение, которое будет установлено,force
удаляет существующее приложение перед установкой нового приложения.список
. Вывести список всех приложений, установленных на устройстве, и выйти. Список выводится на стандартный вывод до выхода из эмулятора.хранилище Имена
. Вывести список всех приложений, установленных на устройстве. Список выводится на стандартный вывод до выхода из эмулятора. Каждая строка содержит одно имя хранилища в числовом порядке. Список содержит только имя, поэтому порядок важен. Например, первое имя хранилища должно быть номером хранилища 1.
-Xjam:
run = [<
имя-хранилища>| <
складской номер>]
Запустить ранее установленное приложение. Приложение определяется его допустимым именем хранилища или номером хранилища.
-Xjam:
remove = [<
имя-хранилища>|
<номер-хранилища>| все]
Удалить ранее установленное приложение.Приложение идентифицируется по допустимому имени или номеру хранилища. Если поставляется
и все
, все ранее установленные приложения удаляются.переходный процесс =
jad-файл-urlЕсли указано,
transient
- это псевдоним для установки, запуска и удаления приложения с указанным файлом JAD.
Этот пример иллюстрирует установку OTA:
эмулятор -Xjam: install = http: // www.myserver.com/apps/MyApp.jad -Xdevice: JavaMEPhone2
Приведенная выше команда возвращает идентификатор установленного приложения. Когда вы получите идентификатор, вы можете запустить его с помощью: emulator = Xjam: run =
ID
См. Также Раздел 14.3, «Параметры командной строки эмулятора» и Раздел 14.3.3, «Параметры отладки и трассировки».
14.3.3 Параметры отладки и трассировки
Вы можете использовать следующие параметры с эмулятором для отладки и трассировки проектов CLDC.
-
Xdebug
Включить отладку во время выполнения. Параметр
-Xrunjdwp
должен быть вызван для поддержки-Xdebug
.-
Xrunjdwp
: настройки отладкиЗапустить сеанс протокола проводной отладки Java, как указано в списке параметров отладки, разделенных запятыми. Необходимо вызвать
-Xrunjdwp
и-Xdebug
.Допустимые настройки отладки включают следующее:
transport =
транспортный механизм - Транспортный механизм, используемый для связи с отладчиком.Единственный поддерживаемый транспортный механизм -dt_socket
.адрес =
хост: порт - Транспортный адрес для подключения отладчика. Если host не указан, предполагается, что хост-машиной является localhost.server =
{y | n} - запускает агент отладки как сервер. Отладчик должен подключаться к указанному порту. Возможные значения:y
иn
. На данный момент поддерживается толькоy
(эмулятор должен работать как сервер).suspend =
{y | n} - Возможные значения:y
иn
.Если для
приостановить
установлено значение n, приложение запускается немедленно, и отладчик может быть подключен в любой момент во время его выполнения.Если для Suspend установлено значение y, приложение не запускается до тех пор, пока отладчик не подключится к порту отладки и не отправит команду возобновления, поэтому приложение может быть отлажено с самого начала.
В этом примере показана отладка:
emulator.exe -Xdevice: JavaMEPhone1 -Xdebug -Xrunjdwp: transport = dt_socket, suspend = n, server = y, address = 51307 -Xdescriptor: .. \ apps \ Games \ dist \ Games.jad -Xdomain: maximum
При запущенном эмуляторе вы можете подключить отладчик.
14.3.4 Профилирование командной строки
Чтобы добавить профилирование к сеансу эмулятора, используйте:
-Xprofile: [system =
имя_файла .проф
Например:
emulator.exe -Xdevice: JavaMEPhone1 -Xdescriptor: "C: \ Documents and Settings \ user \ My Documents \ NetBeansProjects \ Games \ dist \ Games.jad" -Xprofile: file = C: \ temp \ Games.prof
Когда вы запускаете эмулятор и профилируете приложение из командной строки, сохраняемый профиль данных имеет формат, отличный от формата файлов .nps
, созданных с помощью параметра «Профиль» в IDE NetBeans.
Файлы, созданные из командной строки, должны иметь расширение .prof
, чтобы отличить их от файлов профилировщика IDE.
Чтобы просмотреть файлы .prof
в среде IDE, выберите «Профиль»> «Java ME»> «Импортировать снимок профилировщика ЦП» ... Ваш файл отображается на вкладке, на которой указано имя файла, содержащего снимок.
Когда файл загружен в IDE, вы можете экспортировать данные в форме .nps, используя функцию «Экспорт в ...», как описано в Раздел 9.1, «Сбор и сохранение данных профилировщика в IDE», шаг 5. Эти файлы могут быть загруженным с помощью Profile> Java ME> Import CPU Profiler Snapshot...
14.4 Сборка проекта из командной строки
В пользовательском интерфейсе создание проекта - это один шаг. Однако за кулисами есть два шага. Сначала исходные файлы Java компилируются в файлы классов Java. Затем файлы классов проходят предварительную проверку, что означает, что они подготовлены для виртуальной машины CLDC. См. Следующие темы:
14.4.1 Предварительные требования для проверки
Перед созданием и запуском приложения из командной строки убедитесь, что команда jar
находится на вашем пути.Чтобы найти версию комплекта разработчика, запустите java -version
в командной строке.
14.4.2 Компиляция файлов классов
Используйте компилятор javac
из комплекта разработки Java SE для компиляции исходных файлов Java. Вы можете использовать существующую структуру каталогов проекта Oracle Java ME SDK. Используйте параметр -bootclasspath
, чтобы указать компилятору использовать API-интерфейсы MIDP, и используйте параметр -d
, чтобы указать компилятору, куда поместить скомпилированные файлы классов.
В следующем примере показано, как можно скомпилировать приложение MIDP 2.0, взяв исходные файлы из каталога src
и поместив файлы классов в каталог tmpclasses
. Новые строки были добавлены для ясности.
javac -target 1.3 -source 1.3 -bootclasspath .. \ .. \ lib \ cldc_10.jar; .. \ .. \ lib \ midp2.0.jar -d tmpclasses src \ *. java
Для получения дополнительной информации о javac
обратитесь к документации Java SE.
14.4.3 Предварительная проверка файлов классов
Следующим шагом является предварительная проверка файлов классов. Каталог bin
Oracle Java ME SDK включает утилиту preverify
. Синтаксис команды предварительной проверки следующий:
предварительно проверить файлы | каталоги
Вот некоторые варианты:
- | Укажите каталоги или файлы JAR (в виде списка, разделенного точкой с запятой), из которых загружаются классы. |
| Укажите целевой каталог для выходных классов. Этот каталог должен существовать до предварительной проверки. Если этот параметр не используется, предварительная проверка помещает классы в каталог с именем |
Следуя примеру компиляции, используйте следующую команду для проверки скомпилированных файлов классов.Как и раньше, для ясности добавлены новые строки.
preverify.exe -classpath .. \ .. \ lib \ cldcapi10.jar; .. \ .. \ lib \ midpapi20.jar -d классы tmpclasses
В результате этой команды предварительно проверенные файлы классов помещаются в каталог classes
. Если ваше приложение использует WMA, MMAPI или другие версии CLDC или MIDP, обязательно включите соответствующие файлы .jar
в путь к классам.
14.5 Упаковка пакета MIDlet (JAR и JAD)
Чтобы упаковать набор мидлетов вручную, вы должны создать файл манифеста, файл JAR приложения и, наконец, дескриптор мидлета (также известный как дескриптор приложения Java или JAD).
Создайте файл манифеста, содержащий соответствующие атрибуты, как указано в спецификации MIDP. Вы можете использовать любой текстовый редактор для создания файла манифеста. Например, манифест может иметь следующее содержание:
MIDlet-1: Мой MIDlet, MyMIDlet.png, MyMIDlet Имя мидлета: MyMIDlet Производитель MIDlet: Моя организация Версия мидлета: 1.0 Конфигурация MicroEdition: CLDC-1.1 Профиль MicroEdition: MIDP-2.1
Создайте файл JAR, содержащий манифест, а также классы и файлы ресурсов пакета.Чтобы создать файл JAR, используйте инструмент jar
, который поставляется с комплектом разработки программного обеспечения Java SE. Синтаксис следующий:
jar cfm-файл manifest -C class-directory. -C каталог-ресурсов.
Аргументы следующие:
файл - JAR-файл для создания.
manifest - файл манифеста для мидлетов.
class-directory - Каталог, содержащий классы приложения.
ресурс-каталог
-
Каталог, содержащий ресурсы приложения.
Например, чтобы создать файл JAR с именем MyApp.jar
, классы которого находятся в каталоге classes
, а ресурсы - в каталоге res
, используйте следующую команду:
jar cfm MyApp.jar MANIFEST.MF -C классы. -C рез.
Создайте файл JAD, содержащий соответствующие атрибуты, как указано в спецификации MIDP.Вы можете использовать любой текстовый редактор для создания файла JAD. Этот файл должен иметь расширение .jad
.
Примечание: Вы должны установить значение |
Например, файл JAD может иметь следующее содержимое:
Имя мидлета: MyMIDlet Производитель MIDlet: Моя организация Версия мидлета: 1.0 URL-адрес MIDlet-Jar: MyApp.jar MIDlet-Jar-Размер: 24601
14.6 Функции безопасности командной строки
Полный спектр функций безопасности Oracle Java ME SDK также доступен из командной строки. Вы можете настроить домен защиты эмулятора по умолчанию, подписать пакеты MIDlet и управлять сертификатами.
14.6.1 Изменение домена защиты по умолчанию
Чтобы настроить домен защиты эмулятора по умолчанию, используйте следующую опцию с командой emulator
:
-Xdomain:
тип домена
Назначает домен безопасности набору мидлетов.Введите соответствующий домен безопасности, как описано в Раздел 13.1, «Домены безопасности». Например, -Xdomain: максимум
.
14.6.2 Подписать MIDlet Suites (jadtool)
jadtool
- это интерфейс командной строки для подписания пакетов MID-летов с использованием криптографии с открытым ключом в соответствии со спецификацией MIDP 2.0. Подписание пакета MIDlet - это процесс добавления подписывающих сертификатов и цифровой подписи файла JAR к файлу JAD. jadtool
также может подписывать файлы обновлений платежей (JPP).
jadtool
использует только сертификаты и ключи из хранилищ ключей платформы Java SE. Программное обеспечение Java SE предоставляет keytool
, инструмент командной строки для управления хранилищами ключей платформы Java SE.
jadtool
упакован в файл JAR. Чтобы запустить его, откройте командную строку, измените текущий каталог на installdir \ bin
и введите следующую команду:
команда jadtool
Команды следующие:
- помощь
Распечатывает инструкции по использованию
jadtool
.-addcert -alias
псевдоним[-keystore
keystore]
[-storepass
пароль][-storetype
PKCS11][-certnum
number]
[-chainnum
number] [- кодирование
кодирование]
-inputjad | inputjpp
файл ввода-outputjad | outputjpp
выходной файлДобавляет сертификат пары ключей из данного хранилища ключей в файл JAD или файл JPP.
[-jarfile <
filename>] -keypass <
password> -alias <
псевдоним ключа> -storepass <
пароль> [-keystore
кодировка] [-storetype ] [ -encoding < >] -inputjad <
filename> -outputjad <
filename>
Добавляет цифровую подпись данного файла JAR к указанному файлу JAD.Значение по умолчанию для
-jarfile
- это свойствоMIDlet-Jar-URL
в файле JAD.-showcert
[([-certnum
<номер>]
[-chainnum
<номер>])
| [-all]]
[-encoding
]
-inputjad
filename| -inputjpp
<имя файла>Отображает информацию о сертификатах в файлах JAD и JPP.
-addjppsig
-keypass
<пароль>-alias
<псевдоним ключа>[-storepass
<пароль>] [-keystore
] [-storetype ] [- кодировка
<кодировка>]-inputjpp
<имя файла>-outputjpp
<имя файла>Добавляет цифровую подпись входного файла JPP к указанному выходному файлу JPP.
Значения по умолчанию следующие:
14.6.3 Управление сертификатами (MEKeyTool)
MEKeyTool управляет открытыми ключами центров сертификации (CA), что делает его функционально похожим на утилиту keytool, которая поставляется с Java SE SDK. Назначение ключей - облегчить безопасную связь HTTP через SSL (HTTPS).
Перед использованием MEKeyTool
необходимо сначала получить доступ к хранилищу ключей Java Cryptography Extension. Вы можете создать его с помощью утилиты Java SE keytool
(находится в каталоге \ bin вашего JDK).См:
http://java.sun.com/javase/7/docs/technotes/tools/windows/keytool.html
Чтобы запустить MEKeyTool
, откройте командную строку, измените текущий каталог на installdir \ bin
и введите следующую команду:
installdir \ bin \ mekeytool.exe -
команда
Следующие ключевые слова команды.
Oracle Java ME SDK содержит хранилище ключей ME по умолчанию с именем _main.ks,
, которое находится в:
installldir \ runtimes \ cldc-hi \ appdb
Это хранилище ключей включает в себя все сертификаты, которые существуют в хранилище ключей платформы Java SE по умолчанию, которое поставляется с установкой Java SE.
Кроме того, каждый экземпляр эмулятора имеет свой собственный файл _main.ks
, расположенный в домашнем каталоге пользователя \ javame-sdk \ 3.2 \ work \
devicename \ appdb.
Если вы не укажете значение для MEkeystore
, новый ключ будет добавлен к ключу ME по умолчанию для этого экземпляра эмулятора.
Если вы не укажете значение для -keystore
, будет использоваться хранилище ключей по умолчанию:
userhome \ keystore.ks
- помощь
Распечатывает инструкции по использованию MEKeyTool.
-import -alias псевдоним
[-keystore
JCEkeystore] [- MEkeystore
имя файла] [-storepass
storepass] [-domain
имя-домена]
Импортирует открытый ключ в хранилище ключей ME из заданного хранилища ключей JCE, используя заданный пароль хранилища ключей Java Cryptography Extension. а хранилище ключей Java Cryptography Extension по умолчанию - userhome
\ .keystore
.-список
[-MEkeystore
имя файла]
Перечисляет ключи в хранилище ключей ME, включая владельца и срок действия для каждого.
-удалить (-владелец
владелец| -номер
номер ключа)
[-MEkeystore
имя_файла]
Удаляет ключ из данного хранилища ключей ME с данным владельцем.
14.7 Создание заглушек (wscompile)
Мобильные клиенты могут использовать Stub Generator для доступа к веб-службам. Инструмент wscompile генерирует заглушки, связи, сериализаторы и файлы WSDL, используемые в Java API для клиентов и служб RPC XML (JAX).Инструмент считывает файл конфигурации, который определяет либо файл WSDL, либо файл модели, либо интерфейс скомпилированной конечной точки службы. Синтаксис команды генератора заглушек следующий:
wscompile [
опции ]
файлы конфигурации
В таблице 14-3 перечислены параметры wscompile
:
Таблица 14-3 wscompile
Опции
Опция | Описание |
---|---|
| То же, что и |
| Создает клиентские артефакты (заглушки и т. Д.).) |
| Создает только интерфейсы и типы значений |
| Указывает, где разместить сгенерированные файлы вывода |
| Включает данные функции |
| Создает отладочную информацию |
| То же, что и |
| Задает прокси-сервер HTTP (порт по умолчанию 8080) |
| Записывает внутреннюю модель в данный файл |
| Оптимизирует сгенерированный код |
| Указывает, где разместить сгенерированные исходные файлы |
| Выводит сообщения о том, что делает компилятор. |
| Печатает информацию о версии |
| Устанавливает версию CLDC на 1.0 (по умолчанию). Float и double становятся String. |
| Устанавливает версию CLDC на 1.1 (float и double в порядке) |
| Показывает всю информацию и предупреждения CLDC 1.0. |
Примечание: Необходимо указать только одну опцию |
В Таблице 14-4 перечислены функции (разделенные запятыми), которые могут следовать за опцией -f
. Инструмент wscompile
считывает файл WSDL, скомпилированный интерфейс конечной точки службы (SEI) или файл модели в качестве входных данных. Столбец Тип файла указывает, какой из этих файлов используется с той или иной функцией.
Таблица 14-4 Функции, поддерживаемые командой ( -f
) для wscompile
Опция | Описание | Тип файла |
---|---|---|
| Включает явное отображение контекста службы | WSDL |
| Отключает привязку данных для буквального кодирования | WSDL |
| Отключает информацию о типе кодирования | WSDL, SEI, модель |
| Отключает поддержку нескольких ссылок | WSDL, SEI, модель |
| Отключает полную проверку импортированных документов WSDL | WSDL |
| Активно ищет в схеме подтипы | WSDL |
| Включает прямую сериализацию типов интерфейсов | WSDL, SEI, модель |
| Включает функции профиля WSI-Basic (по умолчанию) | WSDL |
| Разрешает | WSDL |
| Без разворачивания. | WSDL |
Примеры
wscompile -gen -d сгенерированный config.xml wscompile -gen -f: nounwrap -O -cldc1.1 -d сгенерированный config.xml
systemd.service
Type =
Настраивает тип запуска процесса для этой сервисной единицы. Один из простых
, exec
, разветвляется
, oneshot
, dbus
, уведомить
или простаивает
:
Если установлено значение
, простой
(по умолчанию, еслиExecStart =
). указано, но ниType =
, ниBusName =
не указаны), диспетчер службы будет считать, что модуль запущен сразу после разветвления основного процесса обслуживания.это Ожидается, что процесс, настроенный сExecStart =
, является основным процессом служба. В этом режиме, если процесс предлагает функциональные возможности другим процессам в системе, его каналы связи должны быть установлены до запуска службы (например, розетки, установленные systemd, через активацию сокета), так как менеджер службы немедленно приступит к запуску последующих модулей, сразу после создания основного процесса службы и перед выполнением двоичного файла службы.Обратите внимание, что это означает systemctl start командные строки дляпростых служб
будут сообщать успех, даже если двоичный файл службы не может быть запущен успешно (например, потому что выбранныйПользователь =
не существует или двоичный файл службы отсутствует).Тип
exec
похож наsimple
, но служба manager будет считать, что модуль запущен сразу после выполнения основного служебного двоичного файла.Сервис менеджер отложит запуск последующих единиц до этого момента. (Или другими словами:simple
выполняет дальнейшие задания сразу после возвратаfork ()
, аexec
не будет продолжаться до того, какfork ()
иexecve ()
в процессе обслуживания успешно.) Обратите внимание, что это означает systemctl запустить командную строку дляexec
службы сообщат об ошибке, когда служба двоичный файл не может быть запущен успешно (например, потому что выбранный пользователь=
не существует или двоичный файл службы отсутствует).Если установлено
разветвление
, ожидается, что процесс, настроенный сExecStart =
вызоветfork ()
как часть своего запуска. Родитель Ожидается, что процесс завершится после завершения запуска и настройки всех каналов связи. Ребенок продолжает работать как основной сервисный процесс, и сервис-менеджер будет считать, что модуль запущен, когда родительский процесс завершается. Это поведение традиционных служб UNIX.Если этот параметр используется, он рекомендуется также использовать параметрPIDFile =
, чтобы systemd мог надежно идентифицировать основной процесс обслуживания. systemd приступит к запуску последующих единиц, как только родительский процесс завершается.Поведение
oneshot
аналогичноsimple
; тем не менее, менеджер службы рассмотрит установку устройства после выхода из основного процесса. Тогда это будет начать последующие подразделения.RemainAfterExit =
особенно полезно для этого типа услуги.Type =
oneshot
подразумевается по умолчанию, если ни одинType =
илиExecStart =
не указаны. Обратите внимание, что если это опция используется безRemainAfterExit =
служба никогда не войдет Состояние блока «активен,
», но происходит прямой переход от «активирует
» на «деактивация
» или «мертвый
», поскольку не настроен процесс, который должен работать непрерывно.В частности, это означает, что после запуска службы этого типа (и которая имеетRemainAfterExit =
not set) он не будет отображаться как запущенный впоследствии, но как мертвый.Поведение
dbus
аналогичнопростому
; тем не мение, ожидается, что служба получит имя на шине D-Bus, как настроеноBusName =
. systemd продолжит запуск дополнительных модулей после D-Bus название автобуса было получено.Сервисные подразделения с этой настройкой неявно получают зависимости от модуляdbus.socket
. Этот тип используется по умолчанию, еслиBusName =
указано. Сервисная единица этого типа считается находящейся в состояние активации до тех пор, пока не будет получено указанное имя шины. Считается активированным, пока занято название автобуса. После того, как имя шины выпущено, услуга считается не обслуживаемой. функционал, который приводит к тому, что диспетчер служб пытается закрыть все оставшиеся процессы, принадлежащие службе.Сервисы, в которых имя шины сбрасывается при завершении работы Таким образом, логика должна быть готова к приемуSIGTERM
(или любого другого сигнала настроен вKillSignal =
) в качестве результата.Поведение
notify
аналогичноexec
; однако это ожидается, что служба отправит уведомление через sd_notify (3) или эквивалентный вызов по завершении запуска. systemd продолжит запуск дополнительных модулей после это уведомление отправлено.Если используется эта опция,NotifyAccess =
(см. ниже) должен быть установлен для открытия доступа к сокету уведомлений, предоставленному systemd. ЕслиNotifyAccess =
отсутствует или установлено значениенет
, будет принудительно установлено значениеосновной
.Поведение
в режиме ожидания
очень похоже напростой
; тем не мение, фактическое выполнение служебной программы откладывается до тех пор, пока не будут отправлены все активные задания.Это может быть использовано чтобы избежать чередования вывода служб оболочки с выводом состояния на консоли. Обратите внимание, что это тип полезен только для улучшения вывода на консоль, он не полезен в качестве общего инструмента для упорядочивания единиц, а действие этого типа службы подвержено тайм-ауту 5 секунд, после которого запускается служебная программа так или иначе.
Обычно рекомендуется использовать Тип =
простой
для длительной работы
сервисов по возможности, так как это самый простой и быстрый вариант.Однако, поскольку этот тип услуги не
распространять сбои при запуске службы и не позволяет заказывать другие блоки до завершения
инициализация службы (что, например, полезно, если клиентам необходимо подключиться к службе через
некоторая форма IPC, и канал IPC устанавливается только самой службой - в отличие от этого
заблаговременно через активацию сокета, шины или аналогичным образом), во многих случаях этого может быть недостаточно. Если так, уведомить
или dbus
(последнее только в том случае, если сервис предоставляет D-Bus
интерфейс) являются предпочтительными вариантами, поскольку они позволяют программному коду службы точно планировать, когда
считать, что услуга запущена успешно, и когда приступить к дальнейшим действиям.В notify Тип службы
требует явной поддержки в кодовой базе службы (как sd_notify ()
или эквивалентный API должен быть вызван службой в соответствующем
time) - если он не поддерживается, то альтернативой является форк
: он поддерживает традиционный
Протокол запуска службы UNIX. Наконец, exec
может быть вариантом для случаев, когда
достаточно, чтобы гарантировать вызов двоичного файла службы, и если двоичный файл службы сам не выполняет или мало
инициализация сама по себе (и ее инициализация маловероятна).Обратите внимание, что использование любого типа, кроме простой
, возможно, задерживает процесс загрузки, так как диспетчеру служб необходимо дождаться обслуживания
инициализация завершена. Поэтому рекомендуется не использовать без необходимости какие-либо типы, кроме простой
. (Также обратите внимание, что обычно не рекомендуется использовать простоя
или oneshot
для длительно работающих служб.)
RemainAfterExit =
Принимает логическое значение, определяющее,
услуга считается активной, даже если все ее
процессы завершены.По умолчанию нет
.
GuessMainPID =
Принимает логическое значение, указывающее,
systemd должна попытаться угадать основной PID службы, если она
не может быть определен надежно. Этот параметр игнорируется, если Тип = разветвление
установлено и PIDFile =
не установлен, потому что для других типов
или с явно настроенным файлом PID основным PID является
всегда известно. Алгоритм угадывания может оказаться неверным
выводы, если демон состоит из более чем одного процесса.Если
основной PID не может быть определен, обнаружение неисправности и
автоматический перезапуск службы не будет работать надежно.
По умолчанию да
.
PIDFile =
Принимает путь, ссылающийся на файл PID службы. Использование этой опции рекомендуется для
Services, где Type =
установлен на , разветвляется
. Указанный путь обычно указывает
в файл ниже / run /
. Если указан относительный путь, он, следовательно, имеет префикс / пробег /
.Менеджер службы считывает PID основного процесса службы из этого
файл после запуска сервиса. Диспетчер служб не будет писать в настроенный здесь файл, хотя он
удалит файл после завершения работы службы, если он все еще существует. Файл PID не обязательно должен принадлежать
от привилегированного пользователя, но если он принадлежит непривилегированному пользователю, применяются дополнительные ограничения безопасности:
файл не может быть символической ссылкой на файл, принадлежащий другому пользователю (ни прямо, ни косвенно), и
PID-файл должен относиться к процессу, уже принадлежащему службе.
BusName =
Принимает имя пункта назначения D-Bus, которое эта служба должна использовать. Эта опция обязательна
для служб, где Type =
установлен на dbus
. Рекомендуется
всегда устанавливайте это свойство, если оно известно, чтобы упростить сопоставление имени службы с адресатом D-Bus.
В частности, глаголы systemctl service-log-level / service-log-target используют
это.
ExecStart =
Команды с их аргументами, которые выполняется при запуске этой службы.Значение разбито на ноль или более командных строк в соответствии с описанными правилами ниже (см. раздел «Командные строки» ниже).
Если Type =
не соответствует oneshot
, должна быть дана ровно одна команда. когда Type = oneshot
используется, можно указать ноль или более команд. Команды могут быть указаны
предоставление нескольких командных строк в одной и той же директиве, или, альтернативно, эта директива может быть указана более
более одного раза с тем же эффектом.Если этому параметру присвоена пустая строка, то список команд для запуска
сброшен, предыдущие назначения этой опции не будут иметь никакого эффекта. Если нет ExecStart =
,
указано, то служба должна иметь RemainAfterExit = yes
и хотя бы один ExecStop =
набор строк. (В сервисах отсутствуют ExecStart =
и ExecStop =
недействительны.)
Для каждой из указанных команд первый аргумент должен быть либо абсолютным путем к исполняемому файлу или простое имя файла без косой черты.По желанию, это имя файла может иметь префикс с рядом специальных символы:
Таблица 1. Специальные префиксы исполняемых файлов
Префикс | Эффект |
---|---|
"24 @ " | Если путь к исполняемому файлу имеет префикс @ , второй указанный токен будет передан как " argv [0] " исполняемому процессу (вместо фактического имени файла), за которым следуют дополнительные указанные аргументы. |
«– » | Если путь к исполняемому файлу имеет префикс «– », записывается код выхода команды, обычно считающейся ошибкой (т.е. ненулевое состояние выхода или аварийный выход из-за сигнала). , но не имеет дальнейшего эффекта и считается приравненным к успеху. |
«: » | Если путь к исполняемому файлу имеет префикс «: », подстановка переменных среды (как описано в разделе «Командные строки» ниже) не применяется. |
« + » | Если путь к исполняемому файлу имеет префикс « + », то процесс выполняется с полными привилегиями. В этом режиме ограничения привилегий, настроенные с помощью User = , Group = , CapabilityBoundingSet = или различных параметров пространства имен файловой системы (например, PrivateDevices = , PrivateTmp = ), не применяются к вызываемой командной строке ( но по-прежнему влияет на любые другие строки ExecStart = , ExecStop = ,…). |
«! » | Подобно описанному выше символу « + », он позволяет вызывать командные строки с повышенными привилегиями. Однако, в отличие от « + », символ «! » исключительно изменяет эффект User = , Group = и SupplementaryGroups = , то есть только строфы, которые влияют на учетные данные пользователя и группы. Обратите внимание, что этот параметр может быть объединен с DynamicUser = , и в этом случае динамическая пара пользователь / группа выделяется до вызова команды, но изменение учетных данных остается на усмотрение самого выполняемого процесса. |
« !! » | Этот префикс очень похож на «! », однако он влияет только на системы, в которых отсутствует поддержка возможностей внешних процессов, то есть без поддержки AmbientCapabilities = . Он предназначен для использования с юнит-файлами, которые используют внешние возможности для запуска процессов с минимальными привилегиями везде, где это возможно, при этом оставаясь совместимыми с системами, которые не поддерживают внешние возможности. Обратите внимание, что когда используется « !! » и обнаружена система, в которой отсутствует поддержка внешних возможностей, любые настроенные разделы SystemCallFilter = и CapabilityBoundingSet = неявно изменяются, чтобы позволить порожденным процессам отбрасывать учетные данные и возможности самостоятельно даже если это не разрешено.Более того, если этот префикс используется и обнаруживается система, в которой отсутствует поддержка внешних возможностей, AmbientCapabilities = будет пропущено и не будет применяться. В системах, поддерживающих внешние возможности, " !! " не действует и является избыточным. |
« @
», «–
», «:
» и один из
« +
» / «!
» / « !!
» можно использовать вместе, и они могут появляться в любом
заказ. Однако только один из « +
», «!
», « !!
» может использоваться в
время.Обратите внимание, что эти префиксы также поддерживаются для других настроек командной строки,
то есть ExecStartPre =
, ExecStartPost =
, ExecReload =
, ExecStop =
и ExecStopPost =
.
Если указано более одной команды, команды
вызываются последовательно в том порядке, в котором они появляются в модуле
файл. Если одна из команд не работает (и не имеет префикса
« -
»), остальные строки не выполняются, а
агрегат считается неисправным.
Если Тип = разветвление
не установлено,
процесс, запущенный через эту командную строку, будет считаться
основной процесс демона.
ExecStartPre =
, ExecStartPost =
Дополнительные команды, которые выполняются перед
или после команды в ExecStart =
,
соответственно. Синтаксис такой же, как у ExecStart =
, за исключением того, что несколько команд
разрешены строки, и команды выполняются одну после
прочее, серийно.
Если любая из этих команд (без префикса
« -
») не выполняются, остальные не выполняются и
агрегат считается неисправным.
ExecStart =
команды запускаются только после
все ExecStartPre =
команды без префикса
с успешным выходом " -
".
ExecStartPost =
команды запускаются только после команд, указанных в ExecStart =
были успешно вызваны, как определено Type =
(я.е. процесс запущен для Тип = простой
или Тип = простоя
, последний ExecStart =
процесс успешно завершен для Type = oneshot
, начальный
процесс успешно завершен для Тип = разветвление
, " READY = 1
" отправляется для Type = notify
, или BusName =
было взято для Тип = dbus
).
Обратите внимание, что ExecStartPre =
не может быть
используется для запуска длительных процессов.Все процессы раздвоены
выключено процессами, вызванными через ExecStartPre =
, будет
быть убитым до запуска следующего служебного процесса.
Обратите внимание, что если любая из команд, указанных в ExecStartPre =
, ExecStart =
или ExecStartPost =
терпят неудачу (и не имеют префикса
« -
», см. Выше) или тайм-аут до того, как служба будет полностью запущена, выполнение продолжается с командами
указано в ExecStopPost =
, команды в ExecStop =
пропускаются.
Обратите внимание, что выполнение ExecStartPost =
учитывается с целью До =
/ После =
ограничения заказа.
ExecCondition =
Необязательные команды, которые выполняются перед командой (ами) в ExecStartPre =
.
Синтаксис такой же, как для ExecStart =
, за исключением того, что разрешены несколько командных строк и
команды выполняются одна за другой поочередно.
Поведение похоже на ExecStartPre =
и гибрид проверки условий: когда ExecCondition =
Команда завершается с кодами выхода от 1 до 254 (включительно), остальные
команды пропускаются, и модуль не помечен как как сбойный. Однако если ExecCondition =
команда завершается с 255 или ненормально (например, тайм-аут, прерванный
сигнал и т. д.), устройство будет считаться неисправным (а остальные команды будут пропущены).Код выхода 0 или
те, которые соответствуют SuccessExitStatus =
, продолжат выполнение до следующей команды (команд).
Те же рекомендации о невыполнении длительных процессов в ExecStartPre =
также применяется к ExecCondition =
. ExecCondition =
также запустит команды
в ExecStopPost =
, как часть остановки службы, в случае любого ненулевого или ненормального
выходы, подобные описанным выше.
ExecReload =
Команды для запуска конфигурации
перезагрузить в сервисе. Этот аргумент принимает несколько команд
линий, следуя той же схеме, что и для ExecStart =
выше. Использование этой настройки
необязательный. Подстановка спецификатора и переменной среды
здесь поддерживается по той же схеме, что и для ExecStart =
.
Устанавливается одна дополнительная специальная переменная среды: если
известно, $ MAINPID
установлен для основного процесса
демона и может использоваться для командных строк, таких как
следующее:
ExecReload = kill -HUP $ MAINPID
Обратите внимание, однако, что перезагрузка демона путем отправки сигнала
(как и в приведенном выше примере) обычно не лучший выбор,
потому что это асинхронная операция и, следовательно, не
подходит для заказа перезагрузки нескольких сервисов для каждого
разное.Настоятельно рекомендуется установить ExecReload =
на команду, которая не только
запускает перезагрузку конфигурации демона, но также
синхронно ожидает его завершения. Например,
dbus-брокер (1)
использует следующее:
ExecReload = busctl call org.freedesktop.DBus \ / org / freedesktop / DBus org.freedesktop.DBus \ ReloadConfig
ExecStop =
Команды для выполнения, чтобы остановить службу, запущенную через ExecStart =
.Этот аргумент принимает несколько командных строк по той же схеме.
как описано выше для ExecStart =
. Использование этого параметра необязательно. После
команды, настроенные в этой опции, выполняются, подразумевается, что служба остановлена, и любые
оставшиеся для него процессы завершаются в соответствии с настройкой KillMode =
(см.
systemd.kill (5)).
Если этот параметр не указан, процесс завершается отправкой сигнала, указанного в KillSignal =
или RestartKillSignal =
, когда остановка обслуживания
просил.Поддерживается подстановка спецификаторов и переменных среды (включая $ MAINPID
, см. Выше).
Обратите внимание, что обычно недостаточно указать команду для этого параметра, которая запрашивает только
сервис для завершения (например, отправив ему какой-либо сигнал завершения), но не
подождите, пока это произойдет. Поскольку остальные процессы сервисов убиваются согласно KillMode =
и KillSignal =
или RestartKillSignal =
, как описано выше, сразу после выхода из команды, это
может не привести к чистой остановке.Следовательно, указанная команда должна быть синхронной операцией, а не
асинхронный.
Обратите внимание, что команды, указанные в ExecStop =
, выполняются только тогда, когда служба
начал успешно сначала. Они не вызываются, если служба вообще не запускалась или если ее
не удалось запустить, например, из-за любой из команд, указанных в ExecStart =
, ExecStartPre =
или ExecStartPost =
завершился ошибкой (и не имели префикса
«–
», см. Выше) или истекло время ожидания.Используйте ExecStopPost =
для вызова команд, когда
служба не запустилась правильно и снова закрывается. Также обратите внимание, что операция остановки всегда
выполняется, если служба запущена успешно, даже если процессы в службе завершились на их
собственные или были убиты. Команды останова должны быть подготовлены для работы в этом случае. $ MAINPID
будет сброшен, если systemd знает, что основной процесс завершился к моменту вызова команд остановки.
Запросы на перезапуск службы реализуются как операции остановки, за которыми следуют операции запуска. Этот
означает, что ExecStop =
и ExecStopPost =
выполняются во время
перезапуск службы.
Рекомендуется использовать этот параметр для команд, которые обмениваются данными с запрашивающей службой
чистое прекращение. Вместо этого для посмертной очистки используйте ExecStopPost =
.
ExecStopPost =
Дополнительные команды, которые выполняются после остановки службы.Сюда входят случаи, когда
использовались команды, настроенные в ExecStop =
, где у службы нет ExecStop =
определено, или где служба неожиданно завершила работу. Этот аргумент принимает несколько
командные строки по той же схеме, что и для ExecStart =
. Использование этих настроек
не является обязательным. Поддерживается подстановка спецификаторов и переменных среды. Обратите внимание, что - в отличие от ExecStop =
- команды, указанные в этом параметре, вызываются, когда служба не запускается
правильно и снова выключен.
Рекомендуется использовать эту настройку для операций очистки, которые должны выполняться, даже если служба не запустилась правильно. Команды, настроенные с этим параметром, должны работать, даже если служба не запустилась на полпути и оставила не полностью инициализированные данные. Как сервис процессы были завершены уже при выполнении команд, указанных в этом параметре, они должны не пытайтесь общаться с ними.
Обратите внимание, что все команды, настроенные с помощью этого параметра, вызываются с кодом результата
service, а также код выхода и статус основного процесса, заданные в $ SERVICE_RESULT
, $ EXIT_CODE
и $ EXIT_STATUS
переменные среды, см.
systemd.exec (5) для
Детали.
Обратите внимание, что выполнение ExecStopPost =
учитывается с целью До =
/ После =
ограничения заказа.
RestartSec =
Настраивает время перехода в спящий режим перед перезапуском
сервис (как настроено с Restart =
).
Принимает безразмерное значение в секундах или значение временного интервала, например
как «5 минут 20 секунд». По умолчанию 100 мс.
TimeoutStartSec =
Задает время ожидания запуска. Если служба демона не сигнализирует о запуске
завершение в течение настроенного времени, служба будет считаться неудачной и будет снова закрыта.В
точное действие зависит от параметра TimeoutStartFailureMode =
. Принимает безразмерное значение в
секунд или значение промежутка времени, например "5мин 20с". Передайте « infinity
», чтобы отключить логику тайм-аута.
По умолчанию DefaultTimeoutStartSec =
из файла конфигурации менеджера, кроме случаев, когда Type = oneshot Используется
, в этом случае таймаут отключен по умолчанию (см.
systemd-system.conf (5)).
Если служба Type = notify
отправляет « EXTEND_TIMEOUT_USEC =…
», это может вызвать
время начала должно быть увеличено за пределы TimeoutStartSec =
.Первое получение этого сообщения
должно произойти до того, как будет превышено TimeoutStartSec =
, и как только время начала превысит TimeoutStartSec =
, диспетчер службы разрешит запуск службы при условии
служба повторяет « EXTEND_TIMEOUT_USEC =…
» в течение указанного интервала, пока служба
статус запуска завершается " READY = 1
". (видеть
sd_notify (3)).
TimeoutStopSec =
Этот параметр служит двум целям.Во-первых, он настраивает время ожидания каждого ExecStop =
команда. Если время ожидания любого из них истечет, последующие ExecStop =
команды
пропущены, и обслуживание будет прекращено SIGTERM
. Если нет ExecStop =
указаны команды, служба немедленно получает SIGTERM
. Это поведение по умолчанию
можно изменить с помощью параметра TimeoutStopFailureMode =
. Во-вторых, он настраивает время
дождаться остановки самой службы.Если он не завершится в указанное время, он будет прекращен принудительно
по SIGKILL
(см. KillMode =
в
systemd.kill (5)).
Принимает безразмерное значение в секундах или значение временного интервала, например
как «5 минут 20 секунд». Передайте " infinity
", чтобы отключить
логика тайм-аута. По умолчанию DefaultTimeoutStopSec =
из диспетчера
файл конфигурации (см.
systemd-system.conf (5)).
Если служба Type = notify
отправляет « EXTEND_TIMEOUT_USEC =…
», это может вызвать
время остановки должно быть увеличено за пределы TimeoutStopSec =
.Первое получение этого сообщения
должно произойти до того, как будет превышено TimeoutStopSec =
, и как только время остановки превысит TimeoutStopSec =
, диспетчер службы разрешит службе продолжить остановку при условии
служба повторяет « EXTEND_TIMEOUT_USEC =…
» в течение указанного интервала или завершает работу
(см. sd_notify (3)).
TimeoutAbortSec =
Этот параметр настраивает время ожидания завершения службы, если она была прервана из-за
Тайм-аут сторожевого таймера (см. WatchdogSec =
).Если у сервиса короткий TimeoutStopSec =
эту опцию можно использовать, чтобы дать системе больше времени для записи дампа ядра службы. По истечении срока действия услуги
будет принудительно завершено SIGKILL
(см. KillMode =
в
systemd.kill (5)). Основной файл будет
быть усеченным в этом случае. Используйте TimeoutAbortSec =
, чтобы установить разумный тайм-аут для дампа ядра на
сервис, который достаточно велик, чтобы записать все ожидаемые данные, и в то же время достаточно короткий, чтобы справиться с ошибкой сервиса
в свое время.
Принимает безразмерное значение в секундах или значение временного интервала, например «5 мин 20 с». Передайте пустое значение, чтобы пропустить
выделенный сторожевой таймер прерывает обработку тайм-аута и откат TimeoutStopSec =
. Проходить
« infinity
», чтобы отключить логику тайм-аута. По умолчанию DefaultTimeoutAbortSec =
от
файл конфигурации менеджера (см.
systemd-system.conf (5)).
Если служба Type = notify
обрабатывает SIGABRT
сама (вместо того, чтобы полагаться на
на ядре для записи дампа ядра) он может отправить " EXTEND_TIMEOUT_USEC =…
" на
увеличил время прерывания до TimeoutAbortSec =
.Первое получение этого сообщения
должно произойти до того, как будет превышено TimeoutAbortSec =
, и как только время прерывания превысит TimeoutAbortSec =
, диспетчер службы разрешит прекращение службы при условии
служба повторяет « EXTEND_TIMEOUT_USEC =…
» в течение указанного интервала или завершает работу
(см. sd_notify (3)).
TimeoutSec =
Сокращение для настройки обоих TimeoutStartSec =
и TimeoutStopSec =
на указанное значение.
TimeoutStartFailureMode =
, TimeoutStopFailureMode =
Эти параметры настраивают действие, которое выполняется в случае, если служба демона не сигнализирует
запуск в течение его настроенного TimeoutStartSec =
, соответственно, если он не остановится в течение TimeoutStopSec =
. Принимает один из завершить
, прервать
и убить
. Обе опции по умолчанию , завершаются
.
Если terminate
установлено, служба будет корректно завершена отправкой сигнала
указано в KillSignal =
(по умолчанию SIGTERM
, см.
systemd.kill (5)). Если
служба не завершает FinalKillSignal =
отправляется после TimeoutStopSec =
. Если установлено abort
, отправляется WatchdogSignal =
вместо этого TimeoutAbortSec =
применяется перед отправкой FinalKillSignal =
.Этот параметр может использоваться для анализа служб, которые периодически не запускаются или не завершаются.
При использовании kill
служба немедленно завершается отправкой FinalKillSignal =
без дополнительного тайм-аута. Этот параметр можно использовать для ускорения
отключение отказавших служб.
RuntimeMaxSec =
Задает максимальное время для запуска службы. Если это используется и услуга была
активен дольше указанного времени, он прекращается и переводится в состояние отказа.Обратите внимание, что этот параметр
не влияет на службы Type = oneshot
, так как они прекращаются сразу после
активация завершена. Передайте " infinity
" (по умолчанию), чтобы не настраивать среду выполнения.
предел.
Если служба Type = notify
отправляет « EXTEND_TIMEOUT_USEC =…
», это может вызвать
время выполнения должно быть расширено за пределы RuntimeMaxSec =
. Первое получение этого сообщения
должно произойти до того, как будет превышено RuntimeMaxSec =
, и как только время выполнения выйдет за пределы RuntimeMaxSec =
, диспетчер службы разрешит службе продолжить работу при условии
служба повторяет « EXTEND_TIMEOUT_USEC =…
» в течение указанного интервала, пока служба
выключение достигается " STOPPING = 1
" (или завершением).(видеть
sd_notify (3)).
WatchdogSec =
Настраивает тайм-аут сторожевого таймера для службы.
Сторожевой таймер активируется после завершения запуска. В
сервис должен позвонить
sd_notify (3)
регулярно с " WATCHDOG = 1
" (т. е.
"keep-alive пинг"). Если время между двумя такими вызовами
больше установленного времени, то услуга помещается в
состояние сбоя, и оно будет прекращено SIGABRT
(или сигнал, указанный WatchdogSignal =
).Установив Перезапуск = с
по при отказе
, на сторожевом таймере
, на ненормальном
или всегда
, услуга будет автоматически
перезапущен. Настроенное здесь время будет передано
выполненный сервисный процесс в WATCHDOG_USEC =
переменная среды. Этот
позволяет демонам автоматически включать проверку активности проверки связи
логика, если для службы включена поддержка сторожевого таймера.Если это
используется опция NotifyAccess =
(см. ниже)
должен быть установлен для открытия доступа к сокету уведомлений
предоставляется systemd. Если NotifyAccess =
- это
не задано, будет неявно установлено значение main
.
По умолчанию 0, что отключает эту функцию. Сервис может
проверьте, ожидает ли диспетчер службы поддержки активности сторожевого пса
уведомления. Видеть
sd_watchdog_enabled (3)
для подробностей.
sd_event_set_watchdog (3)
может использоваться для включения поддержки автоматического сторожевого таймера.
Restart =
Определяет, должна ли служба
перезапускается, когда сервисный процесс завершается, завершается или
время ожидания истекло. Процесс обслуживания может быть основным
сервисный процесс, но он также может быть одним из процессов
указано с ExecStartPre =
, ExecStartPost =
, ExecStop =
, ExecStopPost =
, или ExecReload =
.Когда смерть процесса
является результатом работы systemd (например, остановка службы или
перезапуск), служба не будет перезапущена. Таймауты включают
пропущен крайний срок "keep-alive ping" и служба
таймауты запуска, перезагрузки и остановки операции.
Принимает одну из №
, в случае успеха
, на отказ
, на ненормальном
, сторожевой
, on-abort
, или всегда
.Если установлено значение , но не
(по умолчанию), служба будет
не перезапускаться. Если установлено значение
при успешном завершении,
будет перезапущен только тогда, когда процесс обслуживания завершится правильно.
В этом контексте чистый выход означает код выхода 0 или один
сигналов SIGHUP
, SIGINT
, SIGTERM
или SIGPIPE
и
дополнительно статусы выхода и сигналы, указанные в SuccessExitStatus =
.Если установлено на при отказе
, служба будет перезапущена
когда процесс завершается с ненулевым кодом выхода,
завершается сигналом (в том числе на дампе ядра, но исключая
вышеупомянутые четыре сигнала), когда операция (например,
перезагрузка службы) истекает, и когда настроенный сторожевой таймер
срабатывает тайм-аут. Если установлено значение на ненормальном
,
служба будет перезапущена после завершения процесса
по сигналу (в том числе на дампе ядра, исключая
вышеупомянутые четыре сигнала), когда время ожидания операции истекло, или
при срабатывании тайм-аута сторожевого таймера.Если установлено на on-abort
, служба будет только перезапущена
если процесс обслуживания завершается из-за неперехваченного сигнала, не
указан как чистый статус выхода. Если установлено на on-watchdog
, сервис будет перезапущен
только если истечет время ожидания сторожевого таймера для службы. Если установлено
на всегда
, служба будет перезапущена
независимо от того, вышел он чисто или нет, был прекращен
ненормально по сигналу или истекло время ожидания.
Таблица 2. Причины выхода и влияние настроек Restart =
на них
Настройки перезапуска / причины выхода | нет | всегда | вкл- успех | при отказе | при отказе | при отказе | на сторожевом таймере | |
---|---|---|---|---|---|---|---|---|
Код или сигнал чистого выхода | X1924 | X | ||||||
Нечистый код выхода | X | X | ||||||
X | ||||||||
Тайм-аут | X | 9347 0X | X | |||||
Сторожевой таймер | X | X | X | X |
Ваш комментарий будет первым