Как сделать перезапуск программы в с

Обновлено: 05.07.2024

Скрипт перезапуска службы агента сервера 1С


В данном разделе я приведу скрипт .bat, который у меня получился, а так же дам краткое описание того, что за что отвечает в моем случае.

Собственно сам скрипт:

  1. Первым делом отключаем уведомления о выполнении, пусть это все работает в фоновом режиме
  2. Далее указываем где будет хранится наш лог-файл, куда будет писаться дата и время запуска и остановки службы (можно не писать лог, но на всякий случай пусть будет)
  3. Пишем в Лог дату и время начала остановки
  4. Останавливаем службу агента сервера, в моем случае она называется так - 1C:Enterprise 8.3 Server Agent (1640) и пишем ее статус в лог файл (ниже приведу пример что в логе появляется)
  5. Далее делаем задержку в 15 секунд, чтобы дождаться, пока служба останавливается (пинг равен примерно 1 секунде, первый проходит моментально, поэтому делаем время в секундах +1)
  6. Опять записываем в лог дату в время
  7. Запускаем службу обратно
  8. Делаем задержку в 5 минут, если служба не остановилась за 15 секунд, то она не запустится естественно, что то видимо зависло сильно и будем ждать 5 минут.
  9. Далее проверяем, запустилась ли служба и работает ли она? Если не работает, то выполняем ее повторный старт.
  10. Завершаем работу с cmd.

Пример лог файла:

12.10.2017 0:00:00,10
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" останавливается.
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" успешно остановлена.
12.10.2017 0:00:15,33
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" запускается.
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" успешно запущена.
12.10.2017 1:00:00,15
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" останавливается.
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" успешно остановлена.
12.10.2017 1:00:15,37
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" запускается.
Служба "Агент сервера 1С:Предприятия 8.3 (1640)" успешно запущена.

Настройка выполнения *.bat по расписанию


Как я уже говорил выше, выполнение скрипта у меня происходит автоматически, каждый день он запускается ежечасно с 00:00 до 7:00. Сейчас я расскажу, как это сделано у меня.

Для начала идем в "Пуск -> панель управления -> Администрирование" и запускаем там "Планировщик заданий".


Выбираем пункт "Создать задачу":


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

Далее идем в закладку Триггеры и настраиваем, когда нам надо запускать задачу. В моем случае это ежедневно выполнять в 00:00 и повторять ее каждый час в течении 7 часов.


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


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


Заключение


Вот так не очень сложно создается скрипт на перезапуск службы агента сервера 1С и настраивается его расписание. Я думаю что многие итак знают как сделать одно или второе, но я думаю что кому то это пригодится. Если у Вас возникнут проблемы или вопросы - задавайте их в комментариях, постараюсь помочь чем смогу. Если будут какие-то дополнения или предложения - с удовольствием тоже выслушаю.

viktor 20.11.2017 13:47
Den dobrii, a zachem perezapuskat kazhdii chas. vrode dostatochno odnogo raza.

Admin 20.11.2017 14:04
Добрый! Да, одного раза вполне достаточно, но делалось это по ТЗ 1С-ников, поэтому выложил как есть, может требуется еще кому то так. Если вам необходимо 1 раз, просто не устанавливайте повтор в дополнительных параметрах.

Alexandepz 19.12.2018 10:00
Уточню. Смысл в том, что cmd по умолчанию работает в этой кодировке, и соответственно на выходе в текстовике лога получаются классические кракозябы из-за того, что ни несчастный блокнот, ни даже Word не понимают этой кодировки. Лезть в реестр с целью исправления этой проблемы точно не хочется, т.к. это повлияет не только на кодировку в утилите командной строки, а на всю ОС. Есть ли другие обходные пути решения этого вопроса? Виталий 20.12.2018 15:26
Странно, у меня именно этим скриптом выполняется и я блокнотом открываю лог и все читается

Юрий 03.03.2019 10:04
Виталий! Выражаю огромную благодарность, перерыл много сайтов и самый простой и действительно рабочий скрипт у вас!

11.04.2019 17:03
Так перезагружая сервер выкидываются пользователи как избежать выкидывание пользователей?*

Виталий 12.04.2019 10:22
Эммм, перезапустить службу 1С и при этом не выкинуть пользователей. Ну наверное никак..

1C-ник 04.05.2019 07:10
не помешает рег.задание на блокировку ИБ с соответствующим описанием перед тем как всех выкинет без предупреждения Ян 20.05.2019 13:36
Спасибо! Отличный скрипт - все работает! Влад 25.10.2019 13:18
Не получается Результат последнего запуска: (0x000013A) если просто запустить bat Системе не удается найти указанный путь. Системе не удается найти указанный путь. Влад 25.10.2019 13:20
Извиняюсь, не заменил set logfile="C:!Distrscriptstopstartlog.txt" На свой путь ниндзя Влад 25.10.2019 13:21
Теперь правда Неправильное имя службы. Для вызова дополнительной справки наберите NET HELPMSG 2185. Влад 25.10.2019 13:27
В свойствах службы вверху 1C:Enterprise 8.3 Server Agent (x86-64)

Ваш покорный слуга - компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.


которы запускаешь функцией winexec('batnik.bat',0). создать батник заранее или во время выполнения твоей программы - решать тебе.

вот это заморочки

2ahilles
а как ты будешь это реализовывать, если твоя прога должна быть запущена в единственном экземпляре? вдруг не успеешь выгрузиться.

[QUOTE=kosfiz]а как ты будешь это реализовывать, если твоя прога должна быть запущена в единственном экземпляре? вдруг не успеешь выгрузиться.[/QUOTE]
Очень просто - в Delphi есть секции initialise и finalize. Первая отвечает за действия при запуске программы, вторая - при заверщении.
Для анализа запущенности программы производится проверка некоторых системных флагов в секции инициализации: если есть флаг - значит, выход. Так вот, если в секции финализации обнулить эти флаги, а уже потом дать команду на запуск, то другая программа решит, что она единственная, даже если первая ещё не исчезла из списков процессов системы.

2 el scorpio
т.к. ты в этом по-видимому знаток, то, пожале, объясни мне, где найти эти секции на следующем примере или как их добавить, чтобы к ним добавить нужный код:

Я не знаток Delphi, но по институту (а потом я перешёл на Builder :D ) помню, что в каждом pas файле можно создать четыре раздела:

unit Unit_name;
interface
// код
implementation
// код
initialization
// код
finalization
// код
end.

1. interface. Производится объявление типов, классов, глобальных функций и объектов. Также подключаются другие модули (uses). Объявленные элементы доступны в других модулях
2. implementation. Всё тоже самое, но ещё производится реализация функций и методов классов. Объявленные элементы не доступны в других модулях
3. initialization. Указанная последовательность команд выполняется в момент запуска программы. Обратите внимание - здесь не объявляются функции или переменные - они вызываются так, как вызывались бы внутри функции
4. finalization. Указанная последовательность команд выполняется в момент завершения программы

initialization // начало блока запуска
OleCheck(CoGetMalloc(1, GlobalMalloc)); // Эта команда выполнится при запуске программы
finalization // начало блока завершения
GlobalMalloc := nil; // эта команда выполнится при завершении программы
end. // конец модуля :D

в любом случае успеешь выгрузиться
потому что если использовать ExitProcess то очень быстро вылетаешь из приложения

.
ну даже если не успеешь выгрузиться и ну что дальше.

[QUOTE=Ahilles]в любом случае успеешь выгрузиться
потому что если использовать ExitProcess то очень быстро вылетаешь из приложения
.
ну даже если не успеешь выгрузиться и ну что дальше. [/QUOTE]
Проблема в том, что "быстро вылетать" из приложения может быть вредно для самого приложения :( - ситуации бывают разные. Да и быстродействие у компьютеров может различаться.
Кроме того, если рассуждать "ну даже если не успеешь" и заниматься гаданием подобным на кофейной гуще, то лучше вообще отказаться от возможности автоматического перезапуска.

Лучше сделать так, как я предлагал, в отдельном либо главном модуле

initialization[INDENT]if (Test_Running) then // Проверка возможности запуска программы
Set_Running (true); // Установка флага запущенности программы
else begin
// Программа уже запущена - отменить повторный запуск программы
end;[/INDENT]finalization[INDENT]Set_Running (false); //Снятие флага запущенности программы
if (Need_Restarting) then // Проверка требования перезапуска
Restart_Program; //Перезапуск программы
[/INDENT]end.


Функции Test_Running, Set_Running и Restart_Program напишите сами. По крайней мере, алгоритмы для проверки запущенности программы приведены во многих книгах по программированию.

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

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

Если вам понадобилось перезагрузить скайп, то об этом читайте здесь, а если браузер – то здесь

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

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

Как на компьютере перезагрузить зависшую программу

В windows 7, а еще чаще виндовс 8 программа может зависнуть. Чтобы вы не делали, она на ничего не реагирует.

перезапустить зависшую программу

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

Для этого нажмите три клавиши одновременно: Ctrl+Shift+Esc. Включиться диспетчер задач.

Далее просто запускайте приложение опять – оно будет перезагружено. Успехов.

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

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


Оповещение Microsoft Windows о необходимости перезагрузки устройства

Перезагрузка с помощью сочетания клавиш

Часто из-за системных сбоев перестает работать полный функционал ноутбука, включая тачпад или компьютерную мышь. Что делать, когда происходят подобные ситуации и обычный перезапуск выполнить невозможно? Чтобы совершить рестарт машины, можно воспользоваться одновременным нажатием горячих клавиш: Ctrl+Alt+Delete. Обычно перезапуск таким способом приводит к полному восстановлению работы ноутбука. Вызов команды приводит к появлению окна на экране, в котором помимо базовых действий (выключение, перезагрузка, сон), есть возможность воспользоваться диспетчером задач, заблокировать пользователя устройства или сменить профиль учетной записи.


Существуют другие сочетания клавиш для различных версий Windows.

Перезагрузка на Windows 7

1 способ – Win+L

Чтобы совершить перезапуск ноутбука, в первую очередь, стоит выйти из аккаунта пользователя системы. Это можно сделать путем нажатия сочетания кнопок Win+L. Ноутбук автоматически переходит к меню, содержащему учетные записи системы.

2 способ – Alt+F4

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

3 способ – Ctrl+Alt+Delete

Нажатие набора клавиш Ctrl+Alt+Delete также приводит к появлению на дисплее диалогового окна. Внизу справа на экране располагается ярлык красного цвета, на которую нужно нажать, используя кнопку управления Tab. Чтобы открыть контекстное меню, следует пользоваться Tab для перемещения по экрану от одной команде к другой и стрелками. В меню необходимо выбрать опцию перезагрузки прибора.

Перезагрузка на Windows 8

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

Способ 1 – Ctrl+Alt+Delete

Способ 2 – Win+X

Способ 3 – Alt+F4

Перезагрузка на Windows 10

Способ 1 – Win+X

Нажатие кнопок Win+X приводит к появлению на мониторе окна выбора. В данном окне, используя стрелки, нужно перейти к завершению работы устройства.

Способ 2 – Alt+F4

Способ 3 – Ctrl+Alt+Delete

Как перезагрузить ноутбук, если он завис

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


Как перезагрузить через диспетчер задач


Перезагрузка с помощью командной строки

Если предыдущий способ не помог, нужно воспользоваться более продвинутым и радикальным вариантом выполнения рестарта системы – работа с командной строкой. Для этого требуется:


Перезагрузка с помощью командной строки

Перезагрузка с помощью клавиши включения

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


Нажатие клавиши выключения

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

Перезагрузка с помощью отсоединения аккумулятора

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

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

Перезагрузка с помощью иголки

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


Отверстие для принудительной перезагрузки устройства

Перезагрузка заблокированного компьютера

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

Перезагрузка в безопасном режиме


Перезагрузка в безопасном режиме

Перезагрузка с помощью программы

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

Видеоинструкция

Более подробно разобраться в теме перезагрузки ноутбука можно с помощью видео на YouTube:

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

Как перезагрузить ноутбук при комбинации клавиш на клавиатуре

Рассмотрим стандартные методы перезапуска системы.

Через пуск

Стандартная перезагрузка осуществляется через меню:

Через диспетчер задач

Горячие клавиши

Если ПК не реагирует на действия тачпада, то сначала стоит проверить не отключен ли он. Для активации (деактивации) тачпада используется комбинация клавиш Fn+F7. Если сенсорная панель не заработает, то следует перезагрузить ноутбук с помощью клавиатуры.

С этой целью используется комбинации Alt+F4. Она работает в любой версии ОС.

Перезагрузить ноутбук с помощью клавиатуры можно, нажав клавишу с изображением Виндовса…

Как перезагрузить компьютер с ОС Windows 7, 8, 10

Вызвать меню Завершения работы Windows в 10-й версии ОС можно комбинацией клавиш Alt + F4.

Вот как быстро перезапустить систему с помощью клавиатуры.

Как выключить и перезапустить ноутбук, если он завис

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

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

Комбинации клавиш для перезагрузки ноутбука

Перезапуск при зависании необходим для выхода в БИОС, где можно проверить причину программного сбоя. Выбирать метод, как перезагрузить компьютер с помощью клавиатуры, нужно в зависимости от установленной операционки. Общим для всех моделей ноутов, будь то Asus, Lenovo, Aser, Hp или любой другой, является метод перезапуска посредством удерживания кнопки питания. Этот вариант стоит оставить на крайний случай, когда комп не дает реакции на любые действия.


Перед такими радикальными действиями стоит воспользоваться одним из ниже описанных методов, как перезагрузить ноутбук с помощью клавиатуры. В целом они классифицируются в зависимости от текущего состояния техники, т. е. завис комп или же реагирует на действия мыши. Кроме того, следовать той или иной инструкции по рестарту нужно с учетом установленной операционной системы, ведь у каждой существуют свои сочетания клавиш, перезапускающих систему. Главное – не отчаиваться и попробовать осуществить рестарт сначала безопасными, а уже потом более радикальными методами.

Этот способ, как перезапустить компьютер с помощью клавиатуры, является стандартным. Его стоит применить одним из первых, ведь он является самым безопасным, т. к. все программы смогут подготовиться к выключению. Инструкция по отключению выглядит так:

Как перезагрузить компьютер через диспетчер задач

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


Как перезагрузить компьютер с ОС Windows 8

Как перезагрузить ноутбук клавишами ALT+F4

Следующий вариант, как выключить компьютер с помощью клавиатуры, тоже использует специальную комбинацию кнопок. Она представляет собой сочетание Alt+F4. Оно подходит для любой версии Windows. Сделать перезагрузку можно так:

  1. Зажмите искомую комбинацию – на экране появится всплывающее меню с вариантами завершения работы.
  2. Если мышка не откликается, то выберите необходимый пункт стрелками.


Как перезагрузить ноутбук, если он завис

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

  1. Нажмите Ctrl+Alt+Delete. Должно открыться новое окно, где справа внизу выберите пункт перезапуска. Делайте это нажатием стрелок. Можете попробовать и запустить диспетчер задач, где снять задачу, вызвавшую зависание.
  2. Откройте командную строку нажатием сочетания Win+R. В появившемся меню введите текст shutdown/r. Затем нажмите ввод.
  3. Зажмите кнопку питания. Принудительное выключение применяйте в крайнем случае, ведь оно представляет собой некорректное завершение работы. В результате использования такого метода часто появляются ошибки в виде синего экрана, который пугает многих пользователей.

Видео: как перезапустить компьютер

Нашли в тексте ошибку? Выделите её, нажмите Ctrl + Enter и мы всё исправим!

Читайте также: