Некоторые приложения, работающие на наших серверах, особенно важны с точки зрения их непрерывного и стабильного функционирования на протяжении длительного периода времени. Для того, чтобы избежать простоя таких программ после перезагрузки сервера, полезно использовать автоматический запуск необходимых приложений. В данном мануале расскажем о том, как настроить автозапуск приложений на сервере, и как сделать так, чтобы некоторые кривые программы (приложения) не закрывались после завершении сессии RDP/SSH.
Автозапуск приложений на Windows Server
Во-первых, на Windows-сервере необходимо настроить автоматический вход пользователя в систему при запуске сервера. Для чего нажмите Win R
, и в открывшейся строке наберите control userpasswords2
. После чего намите OK
.
Здесь активируйте опцию Users must enter a user name and password to use this computer
или Требовать ввод имени пользователя и пароля
.
Далее введите имя пользователя и дважды пароль учётной записи, под именем которой будет осуществляться вход в систему. После чего нажмите OK
.
На следующем шаге нужно будет добавить необходимое приложение для автоматического запуска. Для чего перейдите в проводнике по адресу:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
И далее, в этот каталог добавьте программу, которую вы хотите запускать. В нашем примере мы добавили туда Paint
, точнее ярлык этого приложения.
Теперь после перезагрузки или при включении сервера это приложение будет запускаться автоматически.
По умолчанию, когда вы закрываете окно сессии RDP нажатием на крестик без выхода из системы, все запущенные приложения продолжают работать. Если явно не задано ограничение времени сессии RDP, то эти приложения будут продолжать функционировать пока вы их не закроете, не произведёте выход из системы или не перезагрузите сервер. Лимиты времени активности сессии можно настроить в свойствах учётной записи. Для перехода к данным настройкам наберите lusrmgr.msc
для локального пользователя, либо перейдите в Active Directory - пользователи и компьютеры
для доменной учётной записи.
Таймауты сессий также можно настроить при помощи групповых политик. Для чего необходимо запустить gpedit.msc
, и далее, User Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Session Time Limits
.
Про некоторые приложения (опционально)
Однако иногда, некоторые приложения (далеко не все) могут прекращать свою работу при завершении сеанса RDP. В качестве решения подобной проблемы можно использовать следующий способ.
Во-первых, в Параметрах
найдите вкладку Power & sleep
и установите опцию When plugged in, turn off after
в значение Never
.
Далее, перед завершением сессии RDP запустите командную строку (cmd
).
В командной строке наберите:
query session
Эта команда выдаст вам список всех сессий, которые выполняются на сервере в данный момент. В этом списке найдите свою сессию. Далее, нам понадобится утилита для подключения к нашей сессии tscon
. При наборе следующей команды используйте идентификатор своей сессии. Он указан в поле ID
.
tscon X /dest:console
В нашем случае X
– это 2
.
После выполнения команды приложения данной сессии будут продолжать свою работу в фоновом режиме.
Следует сказать, что применение данного метода небезопасно. Используйте его только в случае самой крайней необходимости.
Автозапуск приложений на 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
.
Автозагрузка — это один из ключевых элементов настройки серверных систем. При грамотной настройке автоматического запуска приложений можно сократить время запуска ОС, разумнее распределить ресурсы системы и избавить себя от рутинных действий.
В материале объяснили, как работает автозагрузка Windows Server, и дали пошаговое руководство по настройке системы.
Автозагрузка — это процесс, при котором определённые программы, службы или сценарии автоматически запускаются при пробуждении операционной системы.
Автозагрузка особо важна в работе серверной инфраструктуры. Системный администратор может настроить автозапуск как системных компонентов, так и пользовательских приложений, необходимых для выполнения задач сервера.
Например, в автозагрузке часто настраиваются такие элементы, как:
- Базы данных (SQL Server, MySQL, PostgreSQL) — чтобы они были готовы к обработке запросов сразу после старта системы.
- Веб-серверы (IIS, Apache, Nginx) — для доступа пользователей к сайтам и веб-приложениям.
- Сетевые службы (DHCP, DNS, Active Directory) — для управления корпоративной сетью.
- Скрипты или задачи автоматизации — например, для ежедневного мониторинга, резервного копирования или обработки данных.
- Брандмауэры и системы безопасности — чтобы защитить сервер ещё до его полного старта.
Автозагрузка помогает автоматизировать рутинные задачи и забыть про ручной запуск программ и служб после каждой перезагрузки.
Вот ключевые причины, почему настройка автозагрузки необходима:
- Сокращение времени загрузки. Слишком большое количество приложений в автозагрузке может значительно замедлить процесс запуска операционной системы. Это особенно критично для серверов, где простои недопустимы.
- Снижение нагрузки на ресурсы. Каждые приложение или служба, которые открываются при старте системы, используют ресурсы сервера: процессор, оперативную память и дисковую подсистему. Если в автозагрузке находятся лишние элементы, это может привести к недостатку ресурсов для выполнения критически важных задач.
- Защита данных. Автозапуск программ также может быть точкой уязвимости для системы. Вредоносное программное обеспечение, проникшее на сервер, нередко прописывает себя в автозагрузке, чтобы запускаться при каждом старте ОС. Регулярная проверка и очистка автозагрузки от подозрительных или ненужных элементов помогает минимизировать риски, связанные с угрозами безопасности.
- Удобство администрирования. Для серверов важно, чтобы все ключевые службы и приложения запускались автоматически и без вмешательства администратора. Например, после плановой перезагрузки сервера или внештатного отключения питания все критически важные компоненты (базы данных, веб-серверы, системы мониторинга) должны быть активны без задержек. Настроенная автозагрузка исключает человеческий фактор, что особенно важно в крупных инфраструктурах, где администратор управляет десятками или сотнями серверов.
Наши технические специалисты помогут вам определиться с конфигурацией и настроят ваш VPN-сервер под ключ, если это будет необходимо.
Где искать и как настроить автозапуск программ в Windows Server
Автозагрузка программ — важный инструмент для автоматизации задач и оптимизации работы сервера. Это позволяет приложениям запускаться сразу после старта системы, что важно для бесперебойной работы сервисов. Рассмотрим основные методы настройки автозапуска и дадим пошаговые инструкции для каждого из способов.
Услуги хостинга и аренды VPS/VDS с опцией «Всё включено» у провайдера AdminVPS избавят вас от необходимости администрирования сервера — её на себя возьмут наши специалисты.
Где находятся настройки автозапуска в Windows Server
Автозагрузка может быть настроена с помощью нескольких основных инструментов и механизмов. Всё зависит от ваших задач и предпочтений. Вот основные способы настройки:
- папка автозагрузки (Startup),
- реестр Windows Server,
- планировщик задач (Task Scheduler),
- диспетчер задач (Task Manager).
Startup Windows Server
Папка автозагрузки — это системная директория, куда добавляют ярлыки программ. Все приложения, размещённые в папке Startup, автоматически открываются при активации системы.
Папка Startup находится по следующим адресам.
- Для текущего пользователя:
C:\Users\ИмяПользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
- Для всех пользователей:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
Откройте папку через команду Win+R и введите:
shell:startup
Для общесистемной папки напечатайте команду:
shell:common startup
Скопируйте ярлык программы в эту папку. Например, чтобы запустить текстовый редактор Notepad++, ярлык должен вести сюда:
C:\Program Files\Notepad++\notepad++.exe
Перезагрузите сервер. Программа запустится автоматически при входе в систему.
Реестр Windows Server
Основные ветки реестра для автозагрузки.
Для настройки автозапуска программ для всех пользователей:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
Для настройки автозапуска программ только для текущего пользователя:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Чтобы открыть редактор реестра, нажмите Win+R, напечатайте regedit и кликните клавишу Enter. Подтвердите запрос контроля учётных записей (UAC), если потребуется.
Перейдите в одну из двух веток реестра, о которых мы писали немного выше. В правой части окна кликните ПКМ, нажмите «Создать», далее «Строковый параметр».
Укажите:
- Имя: произвольное название, описывающее приложение (например, MyApp).
- Значение: полный путь к исполняемому файлу программы.
Пример:
C:\Program Files\MyApp\MyApp.exe
Сохраните изменения, нажав ОК. Перезагрузите сервер, чтобы проверить, запускается ли приложение автоматически.
Как перезагрузить сервер
Для удаления приложения через реестр запустите редактор реестра. Как это сделать, мы рассказывали выше.
Перейдите в соответствующую ветку.
- Для всех пользователей:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
- Для текущего пользователя:
KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Найдите строковый параметр с именем программы, которую хотите удалить. Нажмите на параметр и кликните «Удалить».
Перезагрузите сервер, чтобы убедиться, что удалённая программа больше не запускается автоматически. После перезагрузки проверьте, исчезло ли приложение из автозапуска.
Рекомендации по работе с реестром:
- Создайте резервную копию ветки реестра перед внесением изменений. В редакторе реестра выберите «Файл» → «Экспорт», сохраните копию в надёжном месте. Это позволит восстановить состояние в случае ошибки.
- Проверьте правильность пути. Убедитесь, что путь, указанный в строковом параметре, ведёт к существующему исполняемому файлу (.exe).
- Не удаляйте системные записи. Ветка Run может содержать параметры, относящиеся к критически важным для системы службам и приложениям. Удаление таких записей может привести к сбоям.
Планировщик задач (Task Scheduler)
Планировщик задач позволяет настроить запуск программ при определённых событиях, таких как включение сервера, вход пользователя в систему или выполнение системного триггера.
Для запуска Task Scheduler зажмите горячие клавиши Win+R, напечатайте taskschd.msc и кликните Enter.
В окошке справа найдите пункт «Создать задачу» и нажмите на него.
Во вкладке «Общие» введите имя задачи (например, StartAppOnBoot). Установите флажок «Выполнять для всех пользователей». Если требуется запуск от имени администратора, выберите «Запускать с наивысшими правами».
Откройте пункт «Триггеры» и щёлкните на «Создать». Выберите условие запуска, например, при:
- запуске системы — для автоматического запуска при включении сервера;
- входе в систему — для запуска при входе пользователя.
Во вкладке «Действия» нажмите «Создать». В поле «Программа или сценарий» укажите путь к исполняемому файлу, который нужно запустить. Например: C:\Program Files\MyApp\MyApp.exe.
На вкладке «Условия» можно указать, чтобы программа запускалась только при подключении к электросети или при наличии свободных ресурсов.
Нажмите ОК, после чего задача появится в списке активных. Перезагрузите сервер и убедитесь, что программа запускается автоматически.
Настройка автозапуска через групповые политики (Group Policy)
Использование групповых политик необходимо для централизованного управления автозапуском на серверах или клиентских устройствах в рамках домена Active Directory. Этот метод позволяет администраторам задавать правила автозапуска для нескольких пользователей или устройств одновременно.
Читайте, как приручить хаос в Windows с помощью GPO.
Чтобы настроить автозагрузку через Group Policy, сделайте следующее:
Откройте редактор групповых политик:
Нажмите Win+R, введите gpedit.msc и нажмите Enter.
Перейдите в раздел.
- Для пользователя:
Конфигурация пользователя → Конфигурация Windows → Скрипты (вход/выход) → Вход.
- Для компьютера:
Конфигурация компьютера → Конфигурация Windows → Скрипты (загрузка/выключение) → Загрузка.
Щёлкните правой кнопкой мыши на выбранном элементе и выберите Свойства.
Нажмите кнопку Добавить и укажите путь к скрипту или программе, которую необходимо запустить. Например:
Скрипт:
\\Server\Scripts\StartApp.bat
Программа: полный путь к .exe-файлу.
Нажмите OK и примените изменения.
Читайте в нашем блоге, что такое Active Directory в Windows.
Диспетчер задач
Современные версии Windows Server, начиная с 2012 R2, включают встроенные инструменты управления автозагрузкой через диспетчер задач. Это понятный и быстрый способ добавить или удалить утилиты из автозагрузки.
Откройте диспетчер задач при помощи комбинации Ctrl+Shift+Esc. Другой способ — щёлкните правой кнопкой мыши на панели задач и выберите «Диспетчер задач».
Перейдите на вкладку «Автозагрузка» (Startup). Здесь отображается список программ, которые открываются при пробуждении системы.
Чтобы убрать автозапуск ненужной программы, выделите её в списке и нажмите кнопку «Отключить» в правом нижнем углу. Чтобы включить отключённую ранее программу, выберите её и нажмите «Включить».
В столбце «Влияние» на запуск указано, насколько сильно каждая программа ухудшает скорость загрузки системы (например, низкое, среднее или высокое). Это поможет определить, какие программы стоит отключить.
Пример использования:
Допустим, в списке автозагрузки есть приложение для мониторинга серверов, но его запуск замедляет загрузку системы. Вы можете отключить его, если оно не является критически важным для работы, и запускать вручную при необходимости.
Преимущества использования диспетчера задач:
- Простота: управление автозагрузкой осуществляется через графический интерфейс без необходимости работать с реестром или планировщиком.
- Безопасность: вы не рискуете случайно нарушить работу системы, так как изменения легко отменить.
- Информативность: вы сразу видите, как включение или отключение программ влияет на производительность.
Диспетчер задач особенно удобен для администраторов, которые предпочитают визуальные инструменты управления вместо редактирования системных настроек вручную.
Мониторинг и аудит автозагрузки
Автозагрузка — это не только настройки, но и постоянный контроль за состоянием системы. Вредоносное программное обеспечение, несанкционированные изменения или просто накопление лишних приложений в автозагрузке могут снизить производительность сервера. Регулярный мониторинг позволяет своевременно выявлять и устранять проблемы.
Как организовать аудит автозагрузки:
- Используйте встроенные инструменты Windows Server:
- открывайте диспетчер задач и проверяйте вкладку Автозагрузка на наличие записей;
- анализируйте записи в реестре (в ветках Run).
- Внедрите системы мониторинга безопасности: установите программное обеспечение для отслеживания изменений в автозагрузке, например:
- Microsoft Defender для конечных устройств — встроенный антивирус с функцией обнаружения подозрительных изменений.
- Sysinternals Autoruns — инструмент для глубокого анализа всех автозагрузочных компонентов (программ, служб, драйверов).
- Настройте уведомления: с помощью планировщика задач можно создавать скрипты, которые будут отслеживать изменения в ключевых местах автозагрузки, например в реестре. Если изменения обнаружены, администратору отправляется уведомление.
- Проводите регулярные проверки:
- каждую неделю проверяйте список автозагрузки;
- записывайте любые изменения в журнал, чтобы отслеживать динамику.
Создание скриптов для автоматического управления автозагрузкой
Для серверов, на которых требуется частое изменение автозагрузки, удобно использовать скрипты PowerShell или Batch для автоматизации процесса. Это особенно актуально для крупных инфраструктур.
Что такое скрипт в IT и для чего он нужен
Пример PowerShell-скрипта для добавления программы в автозагрузку:
$programName = "MyApp"
$programPath = "C:\Program Files\MyApp\MyApp.exe"
$regPath = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
New-ItemProperty -Path $regPath -Name $programName -Value $programPath -PropertyType String
Write-Host "Программа $programName успешно добавлена в автозагрузку."
Пример PowerShell-скрипта для удаления программы из автозагрузки:
$programName = "MyApp"
$regPath = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
Remove-ItemProperty -Path $regPath -Name $programName
Write-Host "Программа $programName удалена из автозагрузки."
Автоматизация проверки автозагрузки
Скрипты также можно использовать для проверки того, какие программы находятся в автозагрузке. Пример:
$regPath = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
Get-ItemProperty -Path $regPath | Select-Object PSChildName, Property
Правильная настройка автозагрузки не только автоматизирует процессы, но и может значительно повысить производительность сервера. Для этого важно учитывать следующие рекомендации:
- Сведите к минимуму количество программ в автозагрузке: оставляйте только действительно важные элементы, например базы данных, веб-серверы или службы мониторинга.
- Разделяйте автозапуск системных и пользовательских приложений:
- Системные службы лучше запускать через планировщик задач или Group Policy.
- Пользовательские программы удобнее добавлять через реестр или папку Startup.
- Планируйте последовательный запуск: используйте планировщик задач, чтобы задавать задержки между запуском программ. Это снижает нагрузку на процессор и оперативную память во время запуска.
- Обновляйте автозагрузочные программы: устаревшие версии могут работать медленно или создавать конфликты. Регулярно проверяйте актуальность ПО.
- Анализируйте влияние: воспользуйтесь диспетчером задач, чтобы понять, какие программы больше всего замедляют запуск системы, и отключите их.
Полезное в блоге:
- Как настроить автозапуск скрипта в Ubuntu
- Инструкция по запуску виртуальных машин с VirtualBox: от установки до настройки
- Настройка и создание VPN для корпоративной сети
Наверняка на ваших виртуалках крутится некоторое количество программ, стабильное функционирование которых имеет особую важность. Тому, чтобы такой софт работал без перерывов на протяжении длительного времени, может помочь автоматический запуск критически важных приложений. Ниже покажем, как настроить автоматический запуск определённых программ на виртуальных серверах, а также, что можно предпринять, если какие-нибудь некорректно работающие приложения закрываются после завершения сессии удалённого управления сервером.
Автозапуск приложений на серверах Windows
Для начала, на виртуальном сервере, работающем под управлением ОС Windows, необходимо настроить автоматический вход в систему. Для этого нажмите Win R
, в открывшейся строке введите control userpasswords2
и нажмите OK
.
Далее, необходимо поставить галочку в строке Требовать ввод имени пользователя и пароля
(Users must enter a user name and password to use this computer
).
Затем необходимо набрать имя учётной записи, под которой будет осуществляться вход в систему, а также дважды пароль этого пользователя. Закончив ввод учётных данных нажмите OK
.
На следующем этапе добавьте приложение, которое вы планируете запускать автоматически при входе в систему. Чтобы это сделать, в проводнике перейдите по следующему адресу:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
После чего в данную директорию скопируйте ярлык необходимого приложения. В нашем случае мы положили в этот каталог ярлык Paint
.
После того, как вы произведёте данные действия, добавленное в автозагрузку приложение должно будет запускаться автоматически.
В общем случае, при закрытии окна сессии удалённого рабочего стола без выхода из системы, все работающие приложения будут продолжать функционировать. Если вы не планируете задавать явным образом ограничение времени сессии RDP, то данные программы будут продолжать работать, пока вы их не закроете, не выйдите из системы или не перезапустите свою виртуалку. Настройки временных лимитов находятся в свойствах пользователя. Для того, чтобы перейти к ним, наберите в командной строке lusrmgr.msc
в случае с локальной учёткой, либо перейдите в Active Directory - пользователи и компьютеры
в случае с пользователем домена.
Те же настройки можно произвести с помощью групповых политик. В этом случае запустите gpedit.msc
и перейдите в User Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Session Time Limits
.
О некоторых приложениях
В некоторых случаях может происходить так, что запущенные приложения завершают свою работу при отключении сеанса удалённого рабочего стола. Такая проблема имеет своё решение. Заключается оно в следующем: в Параметрах
необходимо найти вкладку Power & sleep
и там установить опцию When plugged in, turn off after
в значение Never
.
После этого необходимо перед завершением сессии RDP запустить командную строку (cmd
).
В командной строке нужно набрать:
query session
Результатом выполнения данной команды станет список всех сессий, выполняющихся в данный момент на вашем сервере. В списке необходимо отыскать свою сессию, и подключиться к ней с помощью утилиты tscon
. Пример использования данной утилиты выглядит следующим образом:
tscon X /dest:console
Здесь X
— это идентификатор интересующей нас сессии. Этот самый идентификатор указывается в выводе команды query session
в поле ID
.
В результате, программы указанной сессии продолжат работать в фоновом режиме.
Но использование такого метода не является безопасным. Применять его следует исключительно в случаях крайней необходимости.
Автозапуск приложений на серверах Linux
На серверах, работающих под управлением операционных систем семейства Linux, для управления автозапуском используется система инициализации systemd
. Интерфейсом при работе с systemd
является команда systemctl
. Вот некоторые примеры применения данной команды:
$ sudo systemctl enable my-service
В данном случае команда systemctl
добавляет службу my-service
в автозагрузку.
$ sudo systemctl disable my-service
Здесь команда systemctl
удаляет службу my-service
из автозагрузки.
$ sudo systemctl is-enabled my-service
А здесь команда systemctl
проверяет наличие службы my-service
в автозагрузке.
Команда systemctl
также может использоваться для добавления в автозагрузку исполнительных сценариев (скриптов). Делается это созданием unit-файла, который в свою очередь необходимо так же добавить в автозагрузку.
Пример команды создания unit-файла выглядит следующим образом:
$ cd /lib/systemd/system
$ sudo vi my-script.service
В данном примере my-script.service
— имя создаваемого unit-файла. Его содержимое выглядит примерно так:
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/local/my-script.sh
[Install]
WantedBy=multi-user.target
В данном случае:
Description
– описание скрипта;After=multi-user.target
означает, что запуск скрипта производится во многопользовательском режиме;Type=idle
говорит о том, что служба будет запущена после отправки всех заданий;ExecStart=/usr/bin/local/my-script.sh
– место расположения скрипта.
Для того, чтобы скрипт смог запуститься на исполнение, ему нужно добавить необходимые права:
$ sudo 644 my-script.service
Далее, следует перезапустить систему инициализации:
$ sudo systemctl daemon-reload
И наконец, нужно добавить наш скрипт в автозагрузку:
$ sudo systemctl enable my-script.service
Теперь my-script.service
будет автоматически запускаться при загрузке операционной системы.
И ещё о некоторых приложениях
Так же, как и на Windows-серверах, на серверах, работающих на Linux, существует проблема некоторых приложений, которые прекращают свою работу при завершении сеанса удалённой работы на сервере. В данном случае речь идёт, конечно же, о подключении по SSH. И, естественно, такая проблема имеет решение.
Во-первых, можно перевести процесс в фоновый режим при помощи команды nohup
. Команда nohup
умеет блокировать сигнал SIGHUP
, который получают процессы при завершении сессии SSH. Пример написания данной команды выглядит так:
$ sudo nohup /lib/systemd/system/my-script.service &
Обратите внимание на символ &
. Как раз он-то и означает, что процесс будет работать в фоновом режиме.
Ещё одним методом решения проблемы является команда setsid
. Она может создать новую сессию в случае, когда вызывающий процесс — не ведущий в группе процессов. Вызывающий процесс становится ведущим и единственным в новой сессии и в новой группе процессов. Как правило, новая сессия не имеет терминала, который её контролирует. Но при всём при том, ID
сессии и ID
группы процессов – это то же, что и ID
процесса.
Если вернутся к нашему скрипту, то команду setsid
можно использовать со следующими опциями:
$ sudo setsid /lib/systemd/system/my-script.service
Здесь скрипт запускается в новой сессии.
$ sudo setsid -c /lib/systemd/system/my-script.service
В данном случае с помощью setsid
управляющий терминал устанавливается в текущий.
$ sudo setsid -w /lib/systemd/system/my-script.service
А здесь устанавливается ожидание завершения работы скрипта и возвращается его выходное значение в качестве возвращаемого значения команды setsid
.
$ sudo setsid -V
Такая команда возвращает версию команды setsid
.
$ sudo setsid -h
А таким образом можно вызвать небольшой help
для команды setsid
.
- 28, May 2023
- #1
Для добавления программы в автозапуск в Windows Server 2019 вы можете использовать следующие шаги:
- Откройте проводник (File Explorer) и перейдите к следующему пути: C:\Users<Имя пользователя>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup Замените <Имя пользователя> на ваше имя пользователя в системе.
- В окне проводника откройте папку «Startup».
- В этой папке создайте ярлык вашей программы, которую вы хотите добавить в автозапуск. Чтобы создать ярлык, выполните одно из следующих действий:
- Щелкните правой кнопкой мыши на программе и выберите «Отправить» -> «Создать ярлык» и перетащите ярлык в папку «Startup».
- Щелкните правой кнопкой мыши на пустой области в папке «Startup», выберите «Создать» -> «Ярлык», затем укажите путь к исполняемому файлу программы и завершите создание ярлыка.
- После создания ярлыка программа будет запускаться автоматически при каждом запуске сервера.
Обратите внимание, что для добавления программы в автозапуск может потребоваться права администратора на вашем сервере.
Если у вас нет прав администратора, вам может потребоваться обратиться к администратору сервера или внести соответствующие изменения в групповую политику (Group Policy) сервера.
Qwerty123
⭐⭐⭐
Здравствуйте, друзья! У меня возник вопрос: как добавить приложение в автозагрузку Windows Server 2019? Нужно ли использовать какие-либо специальные инструменты или настройки?
AdminPro
⭐⭐⭐⭐
Для добавления приложения в автозагрузку Windows Server 2019 можно использовать редактор реестра или групповую политику. Также можно добавить приложение в папку «Автозагрузка» в меню «Пуск».
IT_Specialist
⭐⭐⭐⭐⭐
Ещё один способ добавить приложение в автозагрузку — использовать команду reg add в командной строке. Например: reg add «HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run» /v «MyApp» /t REG_SZ /d «C:\Path\To\MyApp.exe». Это добавит приложение в автозагрузку для всех пользователей.
WindowsExpert
⭐⭐⭐⭐
Не забудьте также проверить права доступа и разрешения для приложения, которое вы добавляете в автозагрузку. Это важно для обеспечения безопасности и стабильности системы.
Вопрос решён. Тема закрыта.
- Необходимо ли регистрировать коммерческие предложения по 44 ФЗ?
- Приготовление варено-копченой курицы в домашних условиях: советы и рекомендации
- Преимущества и недостатки путешествия на автомобиле: что нужно знать?