"Автоматичний" проти "Автоматичний (затримка запуску)"


350

При встановленні служб Windows є два варіанти автоматичного запуску служби Windows при запуску Windows. Один - Автоматичний , а другий - Автоматичний (затримка запуску) . Яка різниця між цими двома детально?

Наприклад, якщо ви створюєте інсталятор за допомогою wixtoolset, ServiceConfigелемент має DelayedAutoStartатрибут. Як це вплине на те, що станеться при запуску послуг під час завантаження?

Документація WiX: ServiceConfig Element



24
Я не впевнений, як це вважається поза темою, враховуючи той факт, що wixtoolset.org дає вам змогу вказати це, і ми надаємо питання щодо Wix.
Aelphaeis

11
Я прийшов сюди шукати відповідь для інсталятора wix. Це абсолютно на тему програмування, оскільки інсталятор має своєрідне відношення до програмування.
Ще. Тоні

6
Домовились зі Smithers та PitLock. Якщо ви подивитесь на голосування як на запитання, так і на відповіді на цю та інші «закриті» теми, здається, що деяких членів більше цікавить буква закону, а не корисність посади, яка є цілою ідея таких сайтів. Мабуть, вони не усвідомлюють, що саме це питання насправді впливає на "програмування". Принаймні, вони не знімали посаду.
Jeff Moden

7
Я не згоден, що це поза темою. Це дуже актуально для розробників.
mghaoui

Відповіді:


484

Коротше кажучи, сервіси, встановлені на Автоматичне , запускатимуться під час завантаження, тоді як послуги, встановлені як Затримка , почнеться незабаром після завантаження.

Початок роботи з сервісом Затримка покращує ефективність завантаження вашого сервера та має переваги безпеки, які викладені в статті, з якою Adriano посилається в коментарях.

Оновлення: "незабаром після завантаження" - це фактично через 2 хвилини після запуску останньої "автоматичної" послуги за замовчуванням. Це можна налаштувати за допомогою ключа реєстру, згідно з Windows Internals та іншими джерелами ( 3 , 4 ).

Цікавими ключами реєстру (принаймні в деяких версіях Windows) є:

  • HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostartматиме значення 1при затримці, 0якщо ні.
  • HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelayабо HKLM\SYSTEM\CurrentControlSet\Control\AutoStartDelay(у Windows 10): десяткова кількість секунд для очікування, можливо, знадобиться створити цю. Застосовується у всьому світі для всіх сервісів із затримкою .

11
Цікаво, як коротко це коротко? Не так багато інформації там. Так виглядає, як Windows зачекає, поки завантаження системи не впаде або не буде досягнуто певного кроку під час завантаження. Після цього він починає запускати будь-які затримані послуги. Будь-які думки чи навіть знання з цього приводу?
лео

10
@leo через 2 хвилини після останньої автоматичної послуги - відповідь оновлена.
Колін Пікард

6
Як за допомогою декількох послуг із затримкою запуску, як Windows вирішує, з чого почати спочатку?
Ернест

4
@ErnestSoeralaya послуги можна позначати як залежні від інших послуг. Windows переконається, що спочатку запускаються залежності, а потім після цього служби повинні починатися в алфавітному порядку; але це не гарантується.
Колін Пікард

5
@MeM Поломка в одній службі не вплине на будь-яку іншу службу. Винятком з цього є послуги, які позначені як залежні від інших послуг.
Колін Пікард
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.