Посмотреть автозагрузку в windows server 2016

Сегодня речь пойдет, о автозагрузке в Windows Server 2012 R2, актуально и для 2016 версии. В этой системе элементы автозагрузки недоступны

Обновлено 19.08.2021

Windows logo

Добрый день! Уважаемые читатели и гости крупнейшего IT блога рунета pyatilistnik.org. Вчера ко мне обратился сотрудник из отдела разработки, и попросил посмотреть их сервер с приложением. Приложение Trassir (Видео сервер) корректно не запускалось, со слов технической поддержки, у нас на сервере был конфликт двух версий 3-й и 4-ой, который запускались одновременно в автозагрузке Windows Server 2012 R2. Меня попросили из нее убрать запуск третьей версии, но вот не задача такого окна автозагрузки как в Windows 10, в серверной версии нет, вы увидите там формулировку «В этой системе элементы автозагрузки недоступны«. Давайте я вам покажу, где лежат файлы запускаемые при старте сервера и как туда добавить нужное или убрать не используемое. Сегодня речь пойдет, о автозагрузке в Windows Server 2012 R2, актуально и для 2016 и выше.

Для чего нужна автозагрузка

Логично сделать вывод, что это процесс, который в момент загрузки операционной системы, запускает необходимые утилиты и процессы. Простой пример, когда вы установили Windows Server 2012 R2, то при первом входе у вас откроется «Диспетчер сервера», так как он находится в автозапуске в системе, чтобы пользователь мог с ним познакомиться.

Настройка автозагрузки в Windows Server

К сожалению Windows Server 2012 R2 не имеет такой вкладки «Автозагрузка», как у клиентских ОС Windows 8.1 и 10.

Автозагрузка в Windows Server 2012 R2-01

Попробуем зайти в конфигурацию системы и открыть там вкладку «Автозагрузка», делается это через msconfig в окне «Выполнить», вы обнаружите там, что «В этой системе элементы автозагрузки недоступны»

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

Так как в msconfig отсутствует нужная нам функциональность, то мы пойдем другим путем. Включите отображение скрытых элементов Windows и перейдите вот по такому пути:

C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp

У вас откроется папка, в которой будут лежать ярлыки программ запускающихся при загрузке сервера, в моем примере, это «Автозапуск Trassir 4 Server».

Автозагрузка в Windows Server 2012 R2-02
Данный путь будет работать для всех пользователей, зашедших на сервер. Если нужно реализовать автозапуск утилит или процессов, для конкретного пользователя, то нужно положить необходимый ярлык по такому пути:

C:Usersпрофиль пользователяAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Альтернативный метод задать автозапуск нужных программ для конкретного пользователя, это в окне «Выполнить» вбить команду:

добавление программы в автозагрузку windows server

Можете тут смело производить добавление программы в автозагрузку Windows Server.

Настройка автозагрузки через реестр Windows

Настроить автозагрузку в операционных системах семейства Windows Server 2012 R2 и выше, можно, через реестр. Для этого перейдите в ветку:

HKEY_LOCAL_MACHINESOFTWAREWow6432Node MicrosoftWindowsCurrentVersionRun

Автозагрузка в Windows Server через реестр

У вас тут будет список программ, которые запускаются для конкретного пользователя. Если вам нужно, что-то добавить в автозапуск, то создайте новый строковый ключ (REG_SZ). Задайте любое имя ключа реестра и укажите путь до исполняемого файла.

Ключ реестра автозагрузки в Windows Server 2012

Управление автозагрузкой Windows Server 2012 R2 через Ccleaner

Я вам уже много раз рассказывал, об этой полезной утилите. Она позволяет не только производить очистку вашего компьютера или сервера, но и управляет автозапуском. Для этого зайдите в раздел «Сервис — Автозагрузка». Тут будет представлен список ваших программ, стартующих при подключении к серверу.

Управление автозагрузкой Windows Server 2012 через ccleaner

Чтобы, что-то отключить, то выберите нужный пункт и нажмите кнопку «Выключить». Обратите внимание, что тут же вы можете изменять пункты контекстного меню (Правый клик), вы можете исключить лишние пункты.

Настройка контекстного меню Windows Server 2012 r2

Управление автозагрузкой в Autoruns Sysinternals

Есть такой набор утилит от компании Microsoft под названием Sysinternals. В нем есть утилита autoruns.exe. Это специализированная утилита для управления автозагрузкой всего, что только можно в операционной системе Windows.

Вот так вот выглядит общее окно со всем, что только загружается в вашей Windows Server. Вы тут можете обнаружить:

  • Ключи реестра
  • Процессы и утилиты
  • Библиотеки
  • Драйвера
  • Кодаки

Управление автозагрузкой в Autoruns Sysinternals-01

Для примера. я хочу, чтобы служба обновления Google Chrome у меня не запускалась, открываем вкладку «Services» и снимаем галки с нужных служб, тем самым вы отключаете автоматическую загрузку.

Управление автозагрузкой в Autoruns Sysinternals-02
Теперь посмотрите вкладку «Logon», в ней будут перечислены процессы запускающиеся при входе в систему, все что вам не нужно отключите.

Управление автозагрузкой в Autoruns Sysinternals-03

Таких утилит на самом деле очень много, но лично мне для управления автозагрузкой этого более, чем достаточно. Уверен, что теперь автозапуск программ в Windows Server 2012 R2-2016-2019 у вас по колпаком. Остались вопросы, пишите их в комментариях. Материал сайта pyatilistnik.org.

Для чего нужна автозагрузка

логично сделать вывод, что это процесс, который при загрузке операционной системы запускает необходимые утилиты и процессы. Простой пример: когда вы установили Windows Server 2012 R2, при первом входе в систему вам будет представлен «Диспетчер серверов», поскольку он автоматически запускается в системе, чтобы пользователь мог с ним ознакомиться.

К сожалению, в Windows Server 2012 R2 нет такой же вкладки «Автозагрузка», как в клиентских операционных системах Windows 8.1 и 10.

Загрузитесь в Windows Server 2012 R2-01

Попробуем зайти в конфигурацию системы и открыть там вкладку «Автозагрузка», это делается через msconfig в окне «Выполнить», там вы обнаружите, что «Элементы автозагрузки недоступны в этой системе”

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

Поскольку в msconfig нет нужных нам функций, мы пойдем другим путем. Включите отображение скрытых элементов Windows и пройдите по этому пути:

C: ProgramData Microsoft Windows Меню Пуск Программы Пуск

Это откроет папку, содержащую ярлыки для программ, которые запускаются при запуске сервера, в моем примере это «Trassir 4 Server Autostart”.

Загрузитесь в Windows Server 2012 R2-02
Этот путь будет работать для всех пользователей, вошедших на сервер. Если вам необходимо реализовать автоматический запуск утилит или процессов для конкретного пользователя, вам необходимо поместить необходимую ссылку по этому пути:

C: Users Профиль пользователя AppData Roaming Microsoft Windows Меню Пуск Программы Пуск

Альтернативный метод установки программ, необходимых для автоматического запуска конкретным пользователем, – это ввести команду в окне «Выполнить:

оболочка: загрузка

добавить программу при запуске Windows Server

Вы можете смело добавить программу в автозагрузку Windows Server здесь.

Настройка автозагрузки через реестр Windows

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

HKEY_LOCAL_MACHINE SOFTWARE Wow6432Node Microsoft Windows CurrentVersion Run

Загрузитесь в Windows Server через реестр

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

Раздел реестра автозагрузки в Windows Server 2012

Управление автозагрузкой Windows Server 2012 R2 через Ccleaner

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

Управление запуском Windows Server 2012 с помощью ccleaner

Чтобы что-то отключить, выберите нужный пункт и нажмите кнопку «Отключить». Обратите внимание, что вы можете сразу изменить пункты контекстного меню (щелкнув правой кнопкой мыши), вы можете исключить ненужные пункты.

Настройка контекстного меню Windows Server 2012 r2

Управление автозагрузкой в Autoruns Sysinternals

Существует серия утилит Microsoft под названием Sysinternals. Содержит служебную программу autoruns.exe. Это специализированная утилита для управления запуском всего, что возможно в операционной системе Windows.

Вот как выглядит общее окно со всем, что только что было загружено на ваш Windows Server. Вы можете найти это здесь:

  • Ключи реестра
  • Процессы и утилиты
  • Библиотеки
  • Драйверы
  • Кодаки

Обработка автозапуска в Autoruns Sysinternals-01

Например. Я хочу, чтобы служба обновлений Google Chrome не запускалась, откройте вкладку «Службы» и отмените выбор необходимых служб, отключив тем самым автоматическую загрузку.

Управление автозапуском в Autoruns Sysinternals-02
Теперь посмотрите на вкладку «Вход», в ней будут перечислены процессы, которые запускаются при входе в систему, все, что вам не нужно отключать.

Обработка автозапуска в Autoruns Sysinternals-03

RRS feed

  • Remove From My Forums
  • Question

  • How can I disable Windows Server 2016 Startup Programs? I cannot see the ‘Startup’ tab on Task Manager?

All replies

  • Probably the same as for 2012 R2, you can use AutoRuns

    https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns


    Regards, Dave Patrick ….
    Microsoft Certified Professional
    Microsoft MVP [Windows Server] Datacenter Management

    Disclaimer: This posting is provided «AS IS» with no warranties or guarantees, and confers no rights.

    • Proposed as answer by

      Monday, August 7, 2017 2:01 PM

  • I agree with Dave and Nedim on this one. 

  • That mean the Windows 2016 server cannot disable the auto startup programs? The AutoRuns modified the regedits?

    Sorry, how can I use the AutoRuns?
    ‘Autoruns64.exe’ > Everything > (tick out) the items??

    • Edited by
      edwinlcf
      Monday, August 7, 2017 7:42 PM

  • That’s correct, there’s no UI for it. Also take a look in;

    C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp

    or

    C:Users»some user»AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

    or possibly;

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa376977(v=vs.85).aspx


    Regards, Dave Patrick ….
    Microsoft Certified Professional
    Microsoft MVP [Windows Server] Datacenter Management

    Disclaimer: This posting is provided «AS IS» with no warranties or guarantees, and confers no rights.

    • Edited by
      Dave PatrickMVP
      Monday, August 7, 2017 7:45 PM

  • Hello,

    If you are not able to see the startup tab in task manager you may also follow the below procedure to achieve the goal.

    start -> RUN -> msconfig ->startup tab-> select the programs and manage it accordingly.

    Regards,

    Nick.

  • In Windows 10 / Windows Server 2016, Startup items are not enabled on this system

  • Hi,
    Just checking in to see if the information provided was helpful. Please let us know if you would like further assistance.

    Best Regards,

    Frank


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact
    tnmff@microsoft.com.

  • In Server Manager click Manage > Server Manager Properties > Check «Do not start Server Manager automatically at logon

    • Proposed as answer by
      frank_songMicrosoft contingent staff
      Monday, February 26, 2018 4:45 AM

  • Hi,

    Was your issue resolved? 

    If you resolved it using our solution, please «mark it as answer» to help other community members find the helpful reply quickly.
    If you resolve it using your own solution, please share your experience and solution here. It will be very beneficial for other community members who have similar questions.
    If no, please reply and tell us the current situation in order to provide further help.

    Best Regards,
    Frank


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact
    tnmff@microsoft.com

  • I use CCleaner that have startup management and it works on Windows Server 2016

  • Thanks! Only you solution work!

    Another ways deprecated by MS.

  • Note that the Run keys are only one of many ways programs can be configured to run automatically.  That’s the beauty of the autoruns tool — it exposes them all.  Cheers.


    David W Knight

  • Typical Microsoft… Hack the registry to make it work…. Or just do what everyone should be doing now…

    Just run OS-X in the first place.  (Windows programmer for 35+ years, but getting sick of this kind of stuff… any idea how many times I’ve had to hack the registry to get stuff to work, or worse, completely work around the OS…)  It is totally
    INSANE that there wouldn’t be UI for this kind of thing…

    And worse, the program that always runs when you login to a server is totally useless.. I’ve never found ONE thing that I can DO with ‘server manager’

    (One of the other answers says you can turn that garbage off inside the app… which I finally was able to turn off for the first time in about a decade since this junk app was written…

    I keep several .Reg files that I click on to fix defects in Windows… Er, turn off «features» that have no UI to turn them off…  I even have a program that runs in the background to kill off the auto-update program so it doesn’t reboot
    my machine I’m using as a build server… (Oooh, you would NEVER use a Windows 10 machine for that, we NEED to reboot it daily/randomly… WE NEED CONTROL OF OUR MACHINE… WE Paid for it after all… oh, wait? we didn’t?  Doesn’t matter what you want
    make no difference to us…)  And to apply ANY change to the machine Windows wants to reboot.  New USB device driver? Reboot… no reason, just reboot..

    Crazy OS…

Содержание

  • Windows 8/8.1/2012
      • Изменить профиль сети с Public на Private в Windows 8.1/Server 2012 R2
  • Windows Server 2019 core
      • Core Edition. Установка Features on Demand (FOD) for App Compatibility
    • Автозагрузка в Windows Server Core (Hyper-V Server)
    • Удалённый интерактивный сеанс Powershell
    • Управление производительностью процессора Windows Server Core
  • Полезные ссылки
      • Windows Admin Center
      • Microsoft Software download portal
    • Включение / выключение Hyper-V
      • Управление локальным/удалённым сервером Hyper-V

Windows 8/8.1/2012

Изменить профиль сети с Public на Private в Windows 8.1/Server 2012 R2

PSH> Get-NetConnectionProfile PSH> Set-NetConnectionProfile -InterfaceIndex Num -NetworkCategory Private

Core Edition. Установка Features on Demand (FOD) for App Compatibility

The easiest method for installing the Feature on Demand (FoD) package is online via Windows Update. This can be done with the PowerShell command:

PSH> Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0

Features On Demand
Available Features on Demand
Install Windows Server 2019 Core Feature on Demand for App Compatibility

Автозагрузка в Windows Server Core (Hyper-V Server)

Самое простое — через реестр. Например, запуск Far Manager при старте:

reg add HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun /v Far /d "C:Program FilesFar ManagerFar.exe"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]
"far"=""C:Program FilesFar ManagerFar.exe""

Удалённый интерактивный сеанс Powershell

Enter-PSSession -ComputerName SERVERNAME

Управление производительностью процессора Windows Server Core

For
example, to adjust the Boost Mode in the Power Saver plan and make that
Power Saver is the current plan, run the following commands:

Powercfg -setacvalueindex scheme_current sub_processor PERFBOOSTMODE 1
Powercfg -setactive scheme_current

If
your server requires ultra-low latency, invariant CPU frequency (e.g.,
for repeatable testing), or the highest performance levels, you might
not want the processors switching to lower-performance states. For such a server, you can cap the minimum processor performance state at 100 percent by using the following commands:

Powercfg -setacvalueindex scheme_current sub_processor PROCTHROTTLEMIN 100
Powercfg -setactive scheme_current

If
your server requires lower energy consumption, you might want to cap
the processor performance state at a percentage of maximum. For example, you can restrict the processor to 75 percent of its maximum frequency by using the following commands:

Powercfg -setacvalueindex scheme_current sub_processor PROCTHROTTLEMAX 75
Powercfg -setactive scheme_current

For
example, if your server requires ultra-low latency while still wanting
to benefit from low power during idle periods, you could quicken the
performance state increase for any increase in load and slow the
decrease when load goes down. The following commands set the increase policy to «Rocket» for a faster state increase, and set the decrease policy to «Single». The increase and decrease thresholds are set to 10 and 8 respectively.

Powercfg.exe -setacvalueindex scheme_current sub_processor PERFINCPOL 2
Powercfg.exe -setacvalueindex scheme_current sub_processor PERFDECPOL 1
Powercfg.exe -setacvalueindex scheme_current sub_processor PERFINCTHRESHOLD 10
Powercfg.exe -setacvalueindex scheme_current sub_processor PERFDECTHRESHOLD 8
Powercfg.exe /setactive scheme_current

Статья на сайте Microsoft


Полезные ссылки

Windows Admin Center

https://docs.microsoft.com/ru-ru/windows-server/manage/windows-admin-center/use/manage-servers

Windows Admin Center runs in a web browser and manages Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows 10, and more through the Windows Admin Center gateway installed on Windows Server or Windows 10. The gateway manages servers by using Remote PowerShell and WMI over WinRM. The gateway is included with Windows Admin Center in a single lightweight .msi package that you can download.

Microsoft Software download portal

https://www.microsoft.com/en-us/software-download/

Включение / выключение Hyper-V

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

Управление локальным/удалённым сервером Hyper-V

Probus ProHVM.
With ProHVM you can manage Hyper-V Servers and virtual machines both locally and remotely. ProHVM enables you to manage multiple versions of Hyper-V in one application, and from almost any version of windows. Use it on Servers, desktops and Core installations both 32 and 64-Bit. Using ProHVM you can connect to and manage Hyper-V servers in other domains and workgroups using different credentials.
It is very useful on installations of free Microsoft Hyper-V Server where you cannot run Microsoft Hyper-V manager locally. ProHVM Standard Is FREE for personal and commercial use!

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

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

Выполняем команду control userpasswords2. Это можно сделать кнопками win+r или через консоль.

Снимите флажок Требовать ввод имени пользователя и пароль и нажмите ОК.


В появившемся окне введите имя пользователя и пароль, которые следует использовать для входа в систему и нажмите кнопку OK.

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

Переходим по адресу:

 C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup

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

Если программу нужно запускать не для всех пользователей, а для определенного, тогда загружаем ярлык по адресу:

C:UsersUserNameAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

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

Некоторые приложения, работающие на наших серверах, особенно важны с точки зрения их непрерывного и стабильного функционирования на протяжении длительного периода времени. Для того, чтобы избежать простоя таких программ после перезагрузки сервера, полезно использовать автоматический запуск необходимых приложений. В данном мануале расскажем о том, как настроить автозапуск приложений на сервере, и как сделать так, чтобы некоторые кривые программы (приложения) не закрывались после завершении сессии RDP/SSH.

Автозапуск приложений на Windows Server

Во-первых, на Windows-сервере необходимо настроить автоматический вход пользователя в систему при запуске сервера. Для чего нажмите Win R, и в открывшейся строке наберите control userpasswords2. После чего намите OK.

Команда control userpasswords2

Здесь активируйте опцию Users must enter a user name and password to use this computer или Требовать ввод имени пользователя и пароля.

Активация опции Users must enter a user name and password to use this computer

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

Пароль пользователя

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

C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup

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

Каталог автозагрузки

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

Приложение запустилось автоматически

По умолчанию, когда вы закрываете окно сессии RDP нажатием на крестик без выхода из системы, все запущенные приложения продолжают работать. Если явно не задано ограничение времени сессии RDP, то эти приложения будут продолжать функционировать пока вы их не закроете, не произведёте выход из системы или не перезагрузите сервер. Лимиты времени активности сессии можно настроить в свойствах учётной записи. Для перехода к данным настройкам наберите lusrmgr.msc для локального пользователя, либо перейдите в Active Directory - пользователи и компьютеры для доменной учётной записи.

lusrmgr.msc - Автозапуск приложений на сервере

Таймауты сессий также можно настроить при помощи групповых политик. Для чего необходимо запустить gpedit.msc, и далее, User Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Session Time Limits.

gpedit.msc - Автозапуск приложений на сервере

Про некоторые приложения (опционально)

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

Во-первых, в Параметрах найдите вкладку Power & sleep и установите опцию When plugged in, turn off after в значение Never.

При питании от сети отключать через: Никогда

Далее, перед завершением сессии RDP запустите командную строку (cmd).

Команда cmd - Автозапуск приложений на сервере

В командной строке наберите:

query session

Эта команда выдаст вам список всех сессий, которые выполняются на сервере в данный момент. В этом списке найдите свою сессию. Далее, нам понадобится утилита для подключения к нашей сессии tscon. При наборе следующей команды используйте идентификатор своей сессии. Он указан в поле ID.

tscon X /dest:console

В нашем случае X – это 2.

Команда tscon - Автозапуск приложений на сервере

После выполнения команды приложения данной сессии будут продолжать свою работу в фоновом режиме.

Следует сказать, что применение данного метода небезопасно. Используйте его только в случае самой крайней необходимости.

Автозапуск приложений на Linux

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

Формат команды выглядит следующим образом:

  • добавление службы в автозагрузку:
$ sudo systemctl enable service-name
  • удаление службы из автозагрузки:
$ sudo systemctl disable service-name
  • проверка наличия службы в автозагрузке:
$ sudo systemctl is-enabled service-name

где, service-name – имя службы.

Команду systemctl также следует использовать для добавления в автозагрузку скриптов. Чтобы это сделать, необходимо создать unit-файл. После чего, созданный файл нужно добавить в автозагрузку также, как и службу.

Для создание unit-файла наберите команды:

$ cd /lib/systemd/system
$ sudo vi your-script.service

Unit-файл выглядит примерно так:

[Unit]
Description=Your Script Service
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/bin/local/your-script.sh

[Install]
WantedBy=multi-user.target

Здесь:

  • Description – описание скрипта;
  • After=multi-user.target – запуск скрипта во многопользовательском режиме;
  • Type=idle – означает, что служба будет запускаться после отправки всех заданий;
  • ExecStart=/usr/bin/local/your-script.sh – полный путь к скрипту.

Теперь нужно дать созданному файлу необходимые права:

$ sudo 644 your-script.service

Обновить конфигурацию:

$ sudo systemctl daemon-reload

Добавить наш скрипт в автозагрузку:

$ sudo systemctl enable your-script.service

Далее, этот скрипт будет запускаться при загрузке сервера автоматически.

Ещё раз про некоторые приложения (опционально)

Некоторые скрипты, приложения и команды прекращают работу при завершении сессии SSH. Для того, чтобы обойти проблему, существуют несколько способов. Мы же рассмотрим здесь парочку из них.

В первом случае перевести процесс в фоновый режим можно при помощи команды nohup. Данная команда блокирует сигнал SIGHUP, который отправляется процессам при завершении сессии SSH.

Например, чтобы отправить выполнение нашего скрипта в фон, нужно набрать:

$ sudo nohup /lib/systemd/system/your-script.service &

Символ & означает, что процесс будет работать в фоновом режиме.

Ещё один способ избежать завершения процесса при закрытии сессии SSH – это команда setsid.

Команда setsid создаёт новую сессию, если вызывающий процесс не является ведущим в группе процессов. Вызывающий процесс становится ведущим и единственным в новой сессии и в новой группе процессов. Изначально новая сессия не имеет терминала, контролирующего её. При этом ID сессии и ID группы процессов – тот же, что ID процесса.

Применительно к нашему скрипту команда setsid может использоваться со следующими опциями:

$ sudo setsid /lib/systemd/system/your-script.service
  • команда запускает скрипт в новой сессии;
$ sudo setsid -c /lib/systemd/system/your-script.service
  • опция устанавливает управляющий терминал в текущий;
$ sudo setsid -w /lib/systemd/system/your-script.service
  • опция устанавливает ожидание завершения работы скрипта и возвращает выходное значение скрипта в качестве возвращаемого значения команды setsid;
$ sudo setsid -V
  • опция возвращает версию команды setsid;
$ sudo setsid -h
  • опция показывает небольшой help для команды setsid.
Команда setsid

Понравилась статья? Поделить с друзьями:
  • Посмотреть настроенные политики обновления windows 10
  • Последовательный порт pci драйвер windows 7 32 bit скачать бесплатно
  • Последовательный порт com3 скачать драйвер windows 10
  • Последовательный порт com1 скачать драйвер windows 10
  • Последовательность установки драйверов windows 10 на пк