Перезапуск ragent без сюрпризов: службы, командная строка, удалённо и по расписанию
Содержание
Перезагрузить агент сервера 1С — значит перезапустить службу 1C:Enterprise 8.3 Server Agent: в Windows через оснастку services.msc или командой net stop / net start, в Linux — через systemctl restart. Вместе с агентом ragent перезапускаются менеджер кластера rmngr и все рабочие процессы rphost.
Все пользователи сервера потеряют сеансы, несохранённые документы пропадут. Поэтому сначала блокируем вход и предупреждаем людей, потом перезапускаем. Сама перезагрузка занимает 10–60 секунд, подготовка — дольше.
Что происходит при перезапуске агента сервера 1С и когда он нужен
Сервер 1С:Предприятия держится на трёх процессах:
- 🧩
ragent.exe— агент. Слушает порт1540, к нему обращаются клиенты и консоль администрирования. - 🗂
rmngr.exe— менеджер кластера. По умолчанию порт1541, хранит реестр кластера и распределяет сеансы. - ⚙️
rphost.exe— рабочие процессы. Выполняют код конфигурации, порты берутся из диапазона1560:1591(диапазон задаётся в свойствах рабочего сервера).
Агент запускает остальные процессы. Остановили службу — гаснет весь сервер. Запустили — он поднимает менеджер и рабочие процессы заново.
Когда перезапуск реально помогает:
- 🐢 рабочие процессы
rphostраздулись по памяти, сервер тормозит всех; - 🔒 «висят» сеансы, которые не завершаются из консоли;
- 🔄 после изменения параметров службы (порты, ключ
-debug, учётная запись); - 📦 после установки новой версии платформы, когда служба переключается на новый
ragent; - 🧹 при очистке сеансовых данных сервера (кэша) — без остановки службы файлы не удалить.
Когда НЕ поможет: ошибки в коде конфигурации, нехватка лицензий, проблемы с СУБД. Здесь перезапуск только оборвёт работу людей.
Подготовка: заблокировать вход и предупредить пользователей
Подходящее время — вечер, выходной или окно обслуживания. Если перезапуск нужен днём, сделайте так:
- Откройте консоль администрирования серверов 1С (
1CV8 Servers.msc). - Раскройте
Кластеры → <ваш кластер> → Информационные базы. - Откройте свойства каждой рабочей базы и включите флажок «Блокировка начала сеансов включена».
- Заполните поле «Сообщение» — его увидят те, кто попытается войти. Например: «Перезапуск сервера 1С, 10 минут».
- Там же включите «Блокировка регламентных заданий включена», чтобы обмен или закрытие месяца не оборвались на середине.
- Посмотрите ветку
Сеансы: кто сейчас работает. Позвоните тем, у кого открыто проведение или загрузка.
Если параметр «Код разрешения» заполнить, администратор сможет войти в заблокированную базу, указав этот код в строке запуска (/UC<код>). Удобно для проверки после перезапуска.
Длительную операцию (обновление конфигурации, свёртку базы, большую загрузку) не обрывайте перезапуском. Дождитесь окончания или остановите её штатно.
Способ 1. Перезапуск службы агента 1С через оснастку «Службы»
Самый безопасный и понятный способ. Подходит для разового перезапуска на Windows Server.
- Нажмите
Win + R, введитеservices.msc. - Найдите службу
1C:Enterprise 8.3 Server Agent— у 64-разрядной платформы в названии стоит(x86-64). - Правой кнопкой → «Перезапустить». Или «Остановить», дождаться статуса «Остановлена», потом «Запустить».
- Через 20–30 секунд откройте консоль администрирования и убедитесь, что кластер и базы видны.
Если на сервере стоят две службы агента разных версий, сверьте путь в свойствах службы, строка «Исполняемый файл». Там видно, из какого каталога (C:\Program Files\1cv8\8.3.xx.xxxx\bin\) запускается ragent.exe, и параметры: -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo".
Две службы на одном порту 1540 одновременно не стартуют. Работает та, что запустилась первой, вторая падает с ошибкой.
Способ 2. Перезагрузка агента сервера из командной строки и PowerShell
Удобно, когда нужно сделать быстро или вставить в скрипт. Командную строку запускайте от имени администратора.
Сначала узнайте точное имя службы:
sc query state= all | findstr /i "1C:Enterprise"
Затем остановка и запуск:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
То же в PowerShell одной строкой:
Get-Service -DisplayName "1C:Enterprise 8.3 Server Agent*" | Restart-Service -Force
Звёздочка в конце подхватит службу независимо от разрядности. Но если служб две, PowerShell перезапустит обе — проверьте вывод Get-Service заранее.
Перезапуск на Linux
На Linux агент работает как служба systemd. Имя зависит от версии платформы:
| Версия платформы | Как называется служба | Команда |
|---|---|---|
| до 8.3.21 | srv1cv83 | sudo systemctl restart srv1cv83 |
| 8.3.21 и выше | srv1cv8-<версия>@default | sudo systemctl restart srv1cv8-8.3.xx.xxxx@default |
Точное имя покажет команда:
systemctl list-units --type=service | grep -i 1cv8
После перезапуска проверьте статус и что процессы поднялись:
sudo systemctl status srv1cv8-8.3.xx.xxxx@default
ps -ef | grep -E "ragent|rmngr|rphost" | grep -v grep
Способ 3. Удалённый перезапуск: с рабочего места администратора
Заходить на сервер по RDP ради одной службы необязательно.
Через «Службы» другого компьютера. В services.msc правой кнопкой по корню «Службы (локальные)» → «Подключиться к
другому компьютеру» → имя сервера. Нужны права администратора на сервере.
Через sc:
sc \\SRV1C stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc \\SRV1C start "1C:Enterprise 8.3 Server Agent (x86-64)"
sc stop не ждёт остановки. Если сразу дать start, служба может ещё не успеть погаснуть. Выдержите паузу или проверьте sc \\SRV1C query ..., пока не увидите STOPPED.
Через Windows PowerShell 5.1:
Get-Service -ComputerName SRV1C -DisplayName "1C:Enterprise 8.3 Server Agent*" | Restart-Service -Force
А что умеет удалённое администрирование 1С (RAS и rac)
Сервер администрирования ras и утилита rac управляют кластером по сети: показывают и завершают сеансы, меняют свойства баз. Перезапустить саму службу агента они не могут — это делается средствами ОС.
Зато через rac удобно подготовить перезапуск из скрипта:
rac cluster list
rac session list --cluster=<id кластера>
rac session terminate --cluster=<id кластера> --session=<id сеанса>
Остальные подкоманды и параметры смотрите в rac help. Для работы rac на сервере должна быть запущена служба ras (порт по умолчанию 1545).
Способ 4. Принудительное завершение процессов, если служба зависла
Бывает, что служба висит в статусе «Остановка» несколько минут. Оснастка не даёт ни запустить, ни остановить её. Тогда процессы снимают вручную.
Это крайняя мера: незавершённые транзакции будут откатаны, у пользователей — обрыв без предупреждения.
- Подождите 2–3 минуты: агент штатно гасит рабочие процессы, на большой базе это не мгновенно.
- Откройте диспетчер задач → вкладка «Подробности».
- Завершите процессы в порядке:
rphost.exe(все), затемrmngr.exe, затемragent.exe. - Запустите службу заново через
services.msc.
То же из командной строки:
taskkill /f /im rphost.exe
taskkill /f /im rmngr.exe
taskkill /f /im ragent.exe
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
В Linux аналог — sudo systemctl kill для службы или kill -9 по PID процессов ragent, rmngr, rphost.
Перезапуск с очисткой сеансовых данных (кэша сервера)
Практики часто совмещают перезапуск с очисткой сеансовых данных. Помогает, когда после перезапуска ошибки остаются: странные ошибки формата потока, «залипшие» блокировки, падение rphost на старте.
- Остановите службу агента.
- Откройте каталог кластера:
C:\Program Files\1cv8\srvinfo\reg_1541\. - Удалите папки
snccntx*(сеансовые данные). Если они есть внутри подпапок с GUID баз — там тоже. - Запустите службу.
Файлы 1CV8Clst.lst и 1CV8Reg.lst не трогайте. Это реестр кластера: список баз, настройки, администраторы. Без него кластер придётся настраивать заново. Перед очисткой скопируйте весь каталог reg_1541 в сторону.
Ошибки при перезагрузке агента 1С: как найти причину
Если служба не поднимается, не перезапускайте её по кругу. Найдите причину.
Кто занял порт. Посмотрите, какой процесс слушает 1540 или 1541:
netstat -ano | findstr ":1540 :1541"
tasklist /fi "PID eq 1234"
Подставьте PID из первой команды во вторую. Если это старый ragent.exe от другой версии платформы — отключите лишнюю службу (тип запуска «Отключена»).
Права на каталог. Учётной записи службы нужен полный доступ к C:\Program Files\1cv8\srvinfo. После переноса каталога или смены пользователя службы права часто теряются.
Журнал событий. Win + R → eventvwr.msc → «Журналы Windows» → «Приложение». Отфильтруйте по источнику, в имени которого есть 1C. Там обычно текст причины прямым языком.
Путь к старой версии. После удаления старой платформы служба может указывать на несуществующий ragent.exe. Путь правят в реестре: HKLM\SYSTEM\CurrentControlSet\Services\<имя службы>\ImagePath. После правки — запуск службы.
Как убедиться, что сервер поднялся полностью. Мало увидеть статус службы «Выполняется». Проверьте три вещи:
- В консоли администрирования раскрывается кластер и виден список баз.
- В ветке
Рабочие процессыесть процессы со статусом «Включён». - Тестовый вход в одну базу проходит без ошибок. Если вход заблокирован — используйте код разрешения.
Только после этого снимите блокировку начала сеансов и регламентных заданий в свойствах баз.
Режим отладки на сервере включают так же: в конец строки ImagePath добавляют -debug. Изменение вступает в силу только после перезапуска службы агента.
Автоматический перезапуск агента 1С по расписанию
Плановый ночной перезапуск полезен, если rphost со временем раздуваются по памяти. Но сначала попробуйте мягкие средства кластера — они не обрывают сеансы разом.
Перезапуск рабочих процессов средствами кластера
В консоли: свойства кластера. Там есть параметры:
- ⏱ «Интервал перезапуска» — через сколько секунд рабочий процесс плавно заменяется новым. Например,
86400— раз в сутки. - 💾 «Допустимый объём памяти» и «Интервал превышения допустимого объёма памяти» — если процесс превысил порог и держит его дольше заданного времени, кластер его перезапускает.
Новые сеансы уходят в новый процесс, старый доживает с текущими. Пользователи обычно ничего не замечают.
Ночной перезапуск службы через Планировщик заданий
Если мягкого перезапуска мало, создайте restart-1c.bat:
@echo off
set SVC=1C:Enterprise 8.3 Server Agent (x86-64)
net stop "%SVC%"
timeout /t 30 /nobreak
taskkill /f /im rphost.exe 2>nul
net start "%SVC%"
echo %date% %time% restart >> C:\scripts\restart-1c.log
Дальше:
taskschd.msc→ «Создать задачу ».- Учётная запись — администратор сервера, флажок «Выполнить с наивысшими правами».
- Триггер — ежедневно, например в 03:30. Не пересекайтесь с резервным копированием СУБД и регламентными заданиями 1С.
- Действие — запуск
C:\scripts\restart-1c.bat.
На Linux то же самое делает таймер systemd или строка в crontab суперпользователя:
30 3 * * * /usr/bin/systemctl restart srv1cv8-8.3.xx.xxxx@default
Автоперезапуск при падении
В свойствах службы Windows, вкладка «Восстановление», для первого и второго сбоя выберите «Перезапуск службы». Если агент упадёт ночью, Windows поднимет его сама. В Linux за это отвечает параметр Restart=on-failure в unit-файле.
Частые вопросы
Можно ли перезапустить агент сервера из консоли администрирования 1С?
Сколько длится перезапуск агента?
Нужно ли перезапускать СУБД (PostgreSQL или MS SQL) вместе с агентом 1С?
Сохранятся ли базы и настройки кластера после перезапуска?
srvinfo, перезапуск их не трогает. Теряются только активные сеансы.