Нажмите "Enter", чтобы перейти к содержанию

Как запустить диспетчер устройств из командной строки: Как открыть диспетчер устройств в Windows 10, 7, 8 и XP

Содержание

Как открыть диспетчер устройств в 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 могут зайти в диспетчер устройств используя стандартный интерфейс системы.

Сделать это достаточно просто, для этого выполните несколько несложных действий, а именно:

  1. Перейти в «Пуск», затем в «Панель управления». Эту же панель можно найти через функцию поиска доступную в меню «Пуск».
  2. Выбрать в разделе «Просмотр» отображение «Мелких значков», найти требуемый компонент и запустить его.

Запуск в Windows XP

По сравнению с более новыми ОС, в Windows XP диспетчер устройств открывается немного другим способом. Давайте разберем два варианта запуска через стандартный интерфейс системы.

Первый вариант:

  1. Нажать по иконке «Мой компьютер» правой мышкой и в открывшемся списке выбрать опцию «Свойства».
  2. После запуска окна со свойствами, переходим в раздел «Оборудование» — здесь и находится нужный компонент.

Второй вариант:

  1. Откройте в нижней панели «Пуск», выберите «Панель управления».
  2. Далее зайдите в раздел «Система».
  3. Перейдите во вкладку «Оборудование» и запустите необходимый компонент.

Универсальные способы

Также существуют более универсальные способы с помощью которых можно зайти в диспетчер устройств независимо от используемого типа операционной системы. Они универсальны и подходят для всех ОС, включая Windows 10, 7, 8 и XP.

Диалоговое окно «Выполнить»

Запустите окно выполнения команд комбинацией клавиш «Win+R», введите в строку devmgmt.msc и щелкните по кнопке «Enter».

Это же окно можно найти через «Пуск» или воспользовавшись поиском.

Командная строка

Диспетчер устройств можно открыть через командную строку. Для этого необходимо:

  1. Комбинацией клавиш «Win+R» открываем строку «Выполнить».
  2. Вводим в нее команду «cmd» нажимаем «OK».
  3. Далее запускается командная строка, нам остается ввести следующее «mmc devmgmt.msc», и нажать «Enter» на клавиатуре.

После чего все будет происходить в следующем порядке:

  • При входе через учетную запись администратора откроется нужное окошко;
  • При входе через пользователя из группы «Администраторы» диспетчер откроется после нажатия «Продолжить»;
  • При входе из-под обычного пользователя, после нажатия «ОК», ДУ откроется в режиме просмотра.

Через «Управление компьютером»

Теперь давайте рассмотрим еще один легкий способ запуска диспетчера устройств. Способ одинаково подходит как для Windows 7, 10, так и для Windows 8. Необходимо выполнить следующее:

  1. Нажимаем правой мышкой по иконке «Компьютер» и в выпадающем списке выбираем «Управление».
  2. В области переходов слева перемещаемся в требуемый раздел.

Примечание:

  • Если работа ведется с учетной записи «Администратор», то ДУ будет отображен в этом же окне по центру;
  • Если произведен вход из-под учетной записи обычного пользователя, то нужная вкладка будет открыта в режиме просмотра, так как данный пользователь из-за недостатка привилегий не может вносить изменения;

В панель управления также можно войти при помощи командной строки. Для этого необходимо открыть строку «Выполнить» и в поле ввести команду «mmc compmgmt.msc». После этого повторите вышеизложенную процедуру.

Через удаленный компьютер

Попасть в диспетчер устройств можно через удаленный доступ. Процедура не самая легкая, а потому использовать ее следует, когда ничего другое не помогает. Также между компьютером или ноутбуком, к которому планируется получить доступ должна работать сеть.

Подробная инструкция о том, как это сделать:

  1. Войти в раздел «Управление компьютером» одним из вышеперечисленных способов.
  2. Найти меню «Действие» и выбрать пункт «Подключится к другому …».
  3. В окне выбора сделайте одно из ниже предложенных действий: 1) В поле «Другой компьютер» напишите имя ПК, к которому нужен доступ, и кликните «ОК»; 2) Нажмите «Обзор / Дополнительно» и найдите нужное устройство.
  4. Выберите его и кликните «ОК»

После успешного подключения в левом верхнем углу будет отображено имя ПК.

В случае с удаленным ПК доступ предоставляется исключительно в режиме просмотра. То есть, вы не сможете изменять параметры устройств.

Где находится исполняемый файл диспетчера устройств

Если ничего из вышеперечисленного не помогло, то вы можете вручную найти и открыть исполняемый файл диспетчера устройств.

Для этого требуется:

  1. Войти на диск с установленной ОС. Обычно он имеет букву «C».
  2. Переместиться в папку «Windows / System32» и найти файл с именем «devmgmt».
  3. С помощью правого щелчка мыши запустить его от имени администратора.

Если все сделано правильно, то отобразится соответствующее окно.

Решение распространенных проблем

Не исключено, что в процессе вы можете столкнуться с рядом проблем. Исправить их достаточно легко, просто действуя по инструкции.

  1. Иногда Windows может блокировать открытие диспетчера устройств в целях защиты. Как правило при этом появляется сообщение «Администратор заблокировал выполнение этого приложения». Исправляется это путем отключения контроля учетных записей «UAC».
  2. Если вы испробовали все способы и ни один из них не работает, то дело может быть в поврежденных системных файлах. В таком случае проведите стандартную проверку диска.

После того, как все проблемы будут устранены попробуйте повторно включить диспетчер устройств.

Инструкция по работе

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

Главный раздел состоит из списка рубрик, просмотреть которые можно нажав по стрелке слева от названия. После чего отобразится список подключенных элементов к Пк. Например, в категории «Видеоадаптеры» будут расположены видеокарты (внешние или внутренние), если у вас подключены 2 внешние видеокарты, то отобразятся все две.

Для того чтобы получить развернутую информацию об объекте, нажмите по нему правой кнопкой мыши и войдите в «Свойства».

Появится окошко, состоящее из 1-5 вкладок.

  • В разделе «Общие» — отображается информация о наименовании (модели), фирмы производителя и текущем состоянии.
  • В разделе «Драйверы» — располагаются данные о драйвере, о разработчике, его версии и даты разработки. По мере необходимости его можно обновить, откатить или вовсе удалить.
  • Во вкладке «Сведения» — содержится информация о различных свойствах оборудования.
  • Во вкладке «Ресурсы» — отображается информация о расходуемых системных ресурсах.

Подробный видео урок

Как получить доступ к диспетчеру устройств из командной строки

Автор Глеб Захаров На чтение 4 мин. Просмотров 58 Опубликовано

Используйте командную строку, чтобы открыть диспетчер устройств с этим трюком

Один из действительно простых способов запустить диспетчер устройств в любой версии Windows – из командной строки.

Просто введите команду devmgmt.msc или одну из трех других, описанных ниже, и voilà … Диспетчер устройств запускается прямо сейчас!

Помимо того, что он является одним из самых быстрых способов открыть его, знание команды запуска для Диспетчера устройств должно пригодиться и для других вещей. Для сложных задач, таких как написание сценариев командной строки, потребуется команда диспетчера устройств, а также другие задачи программирования в Windows.

Вам неудобно работать с командами? Вы не должны быть, но есть много других способов запустить диспетчер устройств. См. Как открыть диспетчер устройств в Windows для справки.

Как получить доступ к диспетчеру устройств из командной строки

Требуемое время . Доступ к диспетчеру устройств из командной строки или к другому инструменту командной строки в Windows должен занимать менее минуты, даже если вы выполняете команды впервые.

Вы можете открыть диспетчер устройств через командную строку независимо от того, какую версию Windows вы используете – Windows 10, Windows 8, Windows 7, Windows Vista или Windows XP. Команда одинакова в каждой из этих операционных систем Windows.

Для доступа к диспетчеру устройств из командной строки выполните следующие простые действия:

  1. Откройте командную строку. Это так же просто, как поиск

    cmd в меню «Пуск» или на панели поиска в большинстве версий Windows.

    Вы также можете сделать это с правами администратора, открыв командную строку с повышенными правами, но вам не нужно открывать командную строку с правами администратора, чтобы получить доступ к диспетчеру устройств из командной строки.

    Командная строка – это самый всеобъемлющий способ запуска команд в Windows, но следующие шаги могут быть выполнены с помощью инструмента «Выполнить» или даже из Cortana или панели поиска в более новых версиях Windows.

    Основной способ открыть диалоговое окно «Выполнить» – с помощью клавиатуры: нажмите и удерживайте клавишу Windows , а затем нажмите R один раз. Другой способ – через диспетчер задач, который вы можете сделать, если рабочий стол Windows потерпел крах, и вы можете открыть только диспетчер задач; Для этого перейдите в

    Файл > Запустить новое задание и введите одну из следующих команд.

  2. После того, как откроется командная строка или окно «Выполнить», введите любой из следующих параметров и нажмите Enter :

      devmgmt.msc  

    или же

      mmc devmgmt.msc  

    Диспетчер устройств должен открыться немедленно.

    MSC-файлы, которые являются XML-файлами, используются в этих командах, поскольку диспетчер устройств является частью консоли управления Microsoft, которая является встроенным инструментом Windows, открывающим файлы такого типа.

  3. Теперь вы можете использовать Диспетчер устройств для обновления драйверов, просмотра состояния устройства, управления системными ресурсами, назначенными 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
  1. В меню Пуск выберите команду Панель управления.

  2. Нажмите кнопку Оборудование и звук.

  3. Нажмите кнопку Диспетчер устройств. Произойдет одно из следующих действий:

    • При входе с встроенной учетной записью «Администратор» будет открыто окно диспетчера устройств.
    • Если вход выполнен от имени пользователя, который является членом группы «Администраторы», откроется диалоговое окно Контроль учетных записей пользователей. Чтобы открыть диспетчер устройств, нажмите в этом окне кнопку Продолжить.
    • При входе с учетной записью обычного пользователя будет выведено сообщение, указывающее, что данный пользователь не может делать какие-либо изменения в отношении устройств. Нажмите кнопку ОК, чтобы открыть диспетчер устройств в режиме просмотра.
С помощью командной строки

В следующей ниже процедуре показано, как открыть диспетчер устройств из командной строки.

Чтобы открыть диспетчер устройств с помощью командной строки
  • В командной строке в поле Начать поиск или в поле Выполнить введите следующую команду:

    Произойдет одно из следующих действий:

    • Если вход выполнен с помощью встроенной учетной записи администратора, откроется диспетчер устройств.
    • Если вход выполнен от имени пользователя, который является членом группы «Администраторы», откроется диалоговое окно Контроль учетных записей пользователей. Чтобы открыть диспетчер устройств, нажмите в этом окне кнопку Продолжить.
    • Если вход выполнен от имени обычного пользователя, появится сообщение о том, что изменения параметров устройств невозможны. Нажмите кнопку
      ОК
      , чтобы открыть диспетчер устройств в режиме только чтения.
В окне «Управление компьютером»

В следующей ниже процедуре показано, как открыть окно «Управление компьютером», одним из компонентов которого является диспетчер устройств.

Примечание

Эта процедура действует только в ОС Windows Vista. В ОС Windows Server 2008, при выполнении приведенных ниже шагов будет запущена программа «Управление сервером». Чтобы запустить программу «Управление компьютером» в ОС Windows Server 2008, выполните шаги следующей процедуры с помощью командной строки.

Чтобы открыть окно «Управление компьютером» с использованием интерфейса Windows
  1. Нажмите кнопку Пуск, щелкните правой кнопкой мыши Компьютер и выберите команду Управление.

    Произойдет одно из указанных ниже событий.

    • При входе с встроенной учетной записью «Администратор» будет открыто окно «Управление компьютером».
    • При входе в систему в качестве пользователя, который является членом группы «Администраторы», будет открыто диалоговое окно Контроль учетных записей пользователей, где необходимо нажать кнопку Продолжить, чтобы открыть окно «
Параметры командной строки установки

— 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 Server

      • 2 = Восстановить только сервер сайта

      • 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 Server

      • 2 = Восстановить только сервер сайта

      • 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 Адресные команды устройства

Команда Экшен

добавить address_type адрес

Добавьте указанный адрес.

del address_type адрес

Удалить указанный адрес.

список

Список всех адресов.

список тип_адреса

Перечислить указанный тип адреса.


Например, следующая команда добавляет устройство:

installldir \ bin \ device-address.exe добавить ip 192.168.1.2

14.3 Параметры командной строки эмулятора

Вы можете запустить эмулятор независимо от графического интерфейса пользователя, используя bin \ emulator . Синтаксис следующий:

параметры эмулятора
 

Общие параметры следующие:

Таблица 14-2 Команды эмулятора

Команда Экшен

-classpath путь

-cp путь

Задает путь поиска для классов приложений.Путь состоит из каталогов, файлов ZIP и файлов JAR, разделенных точкой с запятой.

-Dproperty = значение

Задает значение системного свойства.

- помощь

Показать список допустимых опций.

- версия

Показать информацию о версии эмулятора.

-X устройство: имя устройства

Запустить приложение на эмуляторе, используя указанное имя экземпляра устройства.

-Xquery

Распечатать информацию о скине эмулятора в стандартном потоке вывода и немедленно выйти. Информация включает название скина, размер экрана и другие возможности.


Это простой пример запуска эмулятора из командной строки:

эмулятор.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 (JDTS http://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 = ], file = имя_файла .проф

Например:

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 (в виде списка, разделенного точкой с запятой), из которых загружаются классы.

-d каталог вывода

Укажите целевой каталог для выходных классов. Этот каталог должен существовать до предварительной проверки. Если этот параметр не используется, предварительная проверка помещает классы в каталог с именем output .


Следуя примеру компиляции, используйте следующую команду для проверки скомпилированных файлов классов.Как и раньше, для ясности добавлены новые строки.

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 .


Примечание:

Вы должны установить значение MIDlet-Jar-Size на размер файла JAR, созданного на предыдущем шаге.


Например, файл 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 Опции

Опция Описание

-ген

То же, что и -gen: client

-ген: клиент

Создает клиентские артефакты (заглушки и т. Д.).)

-импорт

Создает только интерфейсы и типы значений

-d выходной каталог

Указывает, где разместить сгенерированные файлы вывода

-f: функции

Включает данные функции

Создает отладочную информацию

-особенности: особенности

То же, что и -f: функции

-httpproxy: хост: порт

Задает прокси-сервер HTTP (порт по умолчанию 8080)

-модель файл

Записывает внутреннюю модель в данный файл

-O

Оптимизирует сгенерированный код

-s справочник

Указывает, где разместить сгенерированные исходные файлы

-верхний

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

- версия

Печатает информацию о версии

-cldc1.0

Устанавливает версию CLDC на 1.0 (по умолчанию). Float и double становятся String.

-cldc1.1

Устанавливает версию CLDC на 1.1 (float и double в порядке)

-cldc1.0info

Показывает всю информацию и предупреждения CLDC 1.0.



Примечание:

Необходимо указать только одну опцию -gen .Для параметра -f требуется список функций, разделенных запятыми.


В Таблице 14-4 перечислены функции (разделенные запятыми), которые могут следовать за опцией -f . Инструмент wscompile считывает файл WSDL, скомпилированный интерфейс конечной точки службы (SEI) или файл модели в качестве входных данных. Столбец Тип файла указывает, какой из этих файлов используется с той или иной функцией.

Таблица 14-4 Функции, поддерживаемые командой ( -f ) для wscompile

Опция Описание Тип файла

явный контекст

Включает явное отображение контекста службы

WSDL

привязка узлов

Отключает привязку данных для буквального кодирования

WSDL

noencodedtypes

Отключает информацию о типе кодирования

WSDL, SEI, модель

nomultirefs

Отключает поддержку нескольких ссылок

WSDL, SEI, модель

без подтверждения

Отключает полную проверку импортированных документов WSDL

WSDL

поисковая схема

Активно ищет в схеме подтипы

WSDL

сериализовать интерфейсы

Включает прямую сериализацию типов интерфейсов

WSDL, SEI, модель

WSI

Включает функции профиля WSI-Basic (по умолчанию)

WSDL

resolidref

Разрешает xsd: IDREF

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 = на них

924 924 924 924 924 924 924 924 924 924 924 924 924 924 924 9347 0 Исключения, указанные выше для обслуживания не будут. быть перезапущенным, если код выхода или сигнал указан в RestartPreventExitStatus = (см. Ниже) или служба останавливается с помощью systemctl stop или аналогичная операция.Также услуги всегда будут перезапускается, если код выхода или сигнал указан в RestartForceExitStatus = (см. Ниже).

Обратите внимание, что перезапуск службы зависит от скорости запуска агрегата. ограничение настроено с StartLimitIntervalSec = и StartLimitBurst = , см. systemd.unit (5) для подробностей. Перезапущенная служба переходит только в состояние сбоя. после достижения стартовых пределов.

Установка при отказе - это рекомендуемый выбор для длительно работающих сервисов, чтобы повысить надежность путем попытки автоматического восстановления из ошибки.Для услуг, которые могут быть прекращены по их собственный выбор (и избегать немедленного перезапуска), в ненормальном состоянии - альтернативный выбор.

SuccessExitStatus =

Принимает список определений статуса выхода, которые при возврате основной службой процесс, будет считаться успешным завершением в дополнение к нормальному успешному статусу выхода 0 и сигналы SIGHUP , SIGINT , SIGTERM и SIGPIPE .Определения статуса выхода могут быть числовые статусы завершения, имена статусов завершения или имена сигналов завершения, разделенные пробелы. См. Раздел «Коды выхода из процесса» в systemd.exec (5) для список имен статусов завершения (для этой настройки только часть без Следует использовать префикс « EXIT_ » или « EX_ »). См. Signal (7) для список имен сигналов.

Обратите внимание, что этот параметр не изменяет соответствие между числовыми состояниями выхода и их имена, я.е. независимо от того, как этот параметр используется, 0 все равно будет отображаться в " SUCCESS " (и поэтому обычно отображается как « 0 / SUCCESS » в выходных данных инструмента) и от 1 до « FAILURE » (и поэтому обычно отображается как « 1 / FAILURE ») и т. Д. Это контролирует только то, что происходит в результате этих статусов выхода, и то, как оно распространяется на состояние сервис в целом.

Эта опция может появляться более одного раза, и в этом случае список успешных статусов выхода слились.Если этой опции присвоена пустая строка, список сбрасывается, все предыдущие присвоения эта опция не будет иметь никакого эффекта.

Пример 1. Служба с параметром SuccessExitStatus =

 SuccessExitStatus = TEMPFAIL 250 SIGKILL 

Состояние выхода 75 ( TEMPFAIL ), 250 и сигнал завершения SIGKILL считаются завершением обслуживания в чистом виде.

Примечание: systemd-analysis exit-status можно использовать для перечисления статусов выхода и переводить между числовыми значениями статуса и именами.

RestartPreventExitStatus =

Принимает список определений статуса выхода, которые при возврате основной службой процесс, предотвратит автоматический перезапуск службы, независимо от параметра перезапуска, настроенного с помощью Перезагрузка = . Определения статуса выхода могут быть либо числовыми кодами выхода, либо завершением. имена сигналов и разделены пробелами. По умолчанию используется пустой список, поэтому по умолчанию выхода нет. статус исключен из настроенной логики перезапуска.Например:

 RestartPreventExitStatus = 1 6 SIGABRT 

гарантирует, что коды выхода 1 и 6 и сигнал завершения SIGABRT не будут приведет к автоматическому перезапуску службы. Эта опция может появляться более одного раза, и в этом случае список статусов предотвращения перезапуска объединено. Если этому параметру присвоена пустая строка, список будет сброс и все предыдущие назначения этой опции не будут иметь никакого эффекта.

Обратите внимание, что этот параметр не влияет на процессы, настроенные через ExecStartPre = , ExecStartPost = , ExecStop = , ExecStopPost = или ExecReload = , но только на основном сервисе процесс, т.е.е. либо тот, который вызывается ExecStart = , либо (в зависимости от Type = , PIDFile = ,…) иначе сконфигурированный главный процесс.

RestartForceExitStatus =

Принимает список определений статуса выхода, при возврате из основного процесса обслуживания принудительно перезапуск службы независимо от настроенной настройки перезапуска с Restart = . Формат аргумента: похожий на RestartPreventExitStatus = .

RootDirectoryStartOnly =

Принимает логический аргумент. Если это правда, корень каталог, настроенный с помощью RootDirectory = вариант (см. systemd.exec (5) для получения дополнительной информации) применяется только к запущенному процессу с ExecStart = , а не с различными другой ExecStartPre = , ExecStartPost = , ExecReload = , ExecStop = , и ExecStopPost = команды.Если false, то настройка одинаково применяется ко всем настроенным командам. По умолчанию - false.

NonBlocking =

Установить флаг O_NONBLOCK для всех файловых дескрипторов, передаваемых через сокет активация. Если true, все файловые дескрипторы> = 3 (т.е. все, кроме stdin, stdout, stderr), исключая переданные через логику хранения файлового дескриптора (подробнее см. FileDescriptorStoreMax = ), будет имеют установленный флаг O_NONBLOCK и, следовательно, находятся в неблокирующем режиме.Этот вариант только полезен в сочетании с блоком розеток, как описано в systemd.socket (5) и не имеет влияние на файловые дескрипторы, которые ранее были сохранены, например, в хранилище файловых дескрипторов. По умолчанию ложный.

NotifyAccess =

Управляет доступом к сокету уведомления о статусе службы, доступному через sd_notify (3) вызов. Занимает один из нет (по умолчанию), основной , exec или все .Если нет , обновления статуса демона от службы не принимаются. процессы, все сообщения об обновлении статуса игнорируются. Если основной , только служебные обновления отправляются из основной процесс обслуживания принимаются. Если выполняет , только служебные обновления отправляются с любого из принимаются основные или управляющие процессы, происходящие из одной из команд Exec * = . Если все , все обновления служб от всех членов группы управления службами принимаются.Этот должна быть установлена ​​опция для открытия доступа к сокету уведомлений при использовании Type = notify или WatchdogSec = (см. Выше). Если эти параметры используются, но NotifyAccess = не настроен, он будет неявно установлен на main .

Обратите внимание, что sd_notify () уведомления могут быть правильно отнесены к модулям, только если либо процесс отправки все еще существует в то время, когда PID 1 обрабатывает сообщение, либо если процесс отправки явно отслеживается во время выполнения менеджером службы.Последний случай, если сервис-менеджер изначально разветвленный процесс, то есть на все процессы, которые соответствуют main или исполнительный . И наоборот, если вспомогательный процесс модуля отправляет sd_notify () и немедленно завершает работу, диспетчер служб может быть не в состоянии правильно присвоить сообщение устройству и, таким образом, проигнорировать его, даже если NotifyAccess = для него все установлено.

Следовательно, чтобы устранить все условия гонки, включающие поиск клиентского модуля и атрибуцию уведомлений для правильных единиц измерения можно использовать sd_notify_barrier () .Этот вызов действует как точка синхронизации и гарантирует, что все уведомления, отправленные до этого вызова, были приняты менеджером службы, когда он вернется успешно. Использование sd_notify_barrier () необходимо для клиентов, которые не вызываются диспетчер службы, в противном случае этот механизм синхронизации не нужен для атрибуции уведомлений Блок.

Sockets =

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

Обратите внимание, что могут передаваться одни и те же дескрипторы файлов сокетов. к нескольким процессам одновременно. Также обратите внимание, что при входящем трафике сокетов может быть активирована другая служба чем тот, который в конечном итоге настроен на наследование дескрипторы файлов сокетов.Или, другими словами: Сервис = установка .socket не обязательно должны соответствовать инверсия Sockets = установка . Сервис он называется.

Эта опция может появляться более одного раза, и в этом случае список сокетов объединяется. Запись после установки, снова очистив список сокетов (например, присвоив пустую строку этому вариант) не поддерживается.

FileDescriptorStoreMax =

Настройте, сколько дескрипторов файлов может храниться в диспетчере служб для сервис с использованием sd_pid_notify_with_fds (3) 's Сообщения « FDSTORE = 1 ».Это полезно для реализации служб, которые могут перезапускаться после явного запроса или сбоя без потери состояния. Любые открытые сокеты и другой файл таким образом могут храниться дескрипторы, которые не следует закрывать при перезапуске. Состояние приложения может быть либо сериализован в файл в / run / , либо, что лучше, сохранен в memfd_create (2) дескриптор файла памяти. По умолчанию 0, то есть файловые дескрипторы не могут храниться в службе. управляющий делами. Все файловые дескрипторы, переданные диспетчеру службы из определенной службы, передаются обратно к основному процессу службы при следующем перезапуске службы (см. sd_listen_fds (3) для подробности о точном используемом протоколе и порядке передачи файловых дескрипторов).Любые файловые дескрипторы, переданные в сервис-менеджер, автоматически закрываются, когда POLLHUP или POLLERR видно на них, или когда услуга полностью остановлен, и ни одно задание не ставится в очередь или не выполняется для него. Если эта опция используется, NotifyAccess = (см. Выше) должен быть установлен для открытия доступа к сокету уведомлений предоставляется systemd. Если NotifyAccess = не задано, будет неявно установлено значение основной .

USBFunctionDescriptors =

Настроить расположение файла, содержащего USB Дескрипторы FunctionFS, для реализации USB функции гаджета. Используется только вместе с блок сокета с ListenUSBFunction = настроен. Содержимое этого файла записывается в ep0 файл после его открыт.

USBFunctionStrings =

Настроить расположение файла, содержащего Строки USB FunctionFS.Поведение похоже на USBFunctionDescriptors = выше.

OOMPolicy =

Настройте политику исключения нехватки памяти (OOM). В Linux, когда становится мало памяти ядро может решить убить запущенный процесс, чтобы освободить память и уменьшить память давление. Этот параметр принимает одно из продолжить , остановить или убить . Если установлено значение , продолжить и процесс обслуживания будет убит OOM-убийцей ядра, это регистрируется, но служба продолжает работать.Если установлено на остановить событие регистрируется, но служба полностью завершена службой управляющий делами.

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    © 2019 iApple-59.ru
    Настройки перезапуска / причины выхода нет всегда вкл- успех при отказе при отказе при отказе на сторожевом таймере
    Код или сигнал чистого выхода X1924 X
    Нечистый код выхода X X
    X
    Тайм-аут X X X
    Сторожевой таймер X X X X