Скрипт перезапуска процесса windows

Обновлено: 05.07.2024

он выдает ошибку, потому что sc не ожидает остановки службы. Как перезапустить сервис с помощью скрипта?

Постер хочет убедиться, что служба остановлена, прежде чем пытаться перезапустить ее. Вы можете использовать цикл вывода «sc query», выполняя что-то вроде этого:

Спасибо, в пакетном режиме нет сна, так что это все, что вы можете сделать, чтобы ждать :) +1 и значок GOTO. Присуждается тем, кто использует оператор GOTO с прямым лицом. В Windows Server 2008 уровень ошибки равен 0, если он найден, и 1, если он не найден. Поэтому мне пришлось инвертировать логику, и тогда это сработало.

Может быть, чего-то не хватает, но я все это время использую:

нет стоп "myservice"
нет старт "myservice"

нет остановки "myservice" && net start "myservice"

Умер просто с powershell:

Еще лучше, используя отображаемые имена:

Get-Help Restart-Service для большего

Если это чисто для перезапуска службы, вы можете использовать

Однако, если вы хотите получить доступ к опциям sc, вы можете использовать команду start / wait

эта техника является более общим решением, которое может быть применено к любой команде.

sc stop myservice просто отправит команду останова и вернется до остановки службы. Вызов sc с помощью start / b не поможет.

Чтобы выполнить тихий перезапуск какой-либо службы, которая запрашивает подтверждение об остановке (например, в качестве службы сервера), вы можете добавить / y в конец команды остановки.

Это было бы полезно для автоматического выполнения скрипта.

Если вы хотите перезапустить отказавший сервис, вам не нужно запускать скрипт. В оснастке MMC сервисов щелкните правой кнопкой мыши сервис, выберите свойства, перейдите на вкладку восстановления. Здесь вы можете указать, какие действия вы хотите предпринять в случае остановки сервиса. Существует много гибкости. Вам понадобится сценарий, если вы пытаетесь остановить службу, что-то сделать, затем запустить сценарий, предварять командный файл net stop "myserviceshortname" и завершить net start "myserviceshortname"

В vbscipt немного больше кода для остановки службы и ее зависимых элементов:

date

13.04.2021

directory

PowerShell, Windows 10, Windows Server 2016

comments

комментариев 5

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

Ранее мы показывали, как с помощью PowerShell можно управлять процессами Windows. Чтобы проверить, запущен ли процесс notepad.exe и перезапустить его, можно использовать такой скрипт.

If (!(Get-Process -Name notepad -ErrorAction SilentlyContinue))
>

Можно автоматически перезапустить процесс, если он не отвечает (завис) или если он стал использовать слишком много оперативной памяти (в этом примере более 500 Мб):

$proc = Get-Process -Name notepad| Sort-Object -Property ProcessName -Unique
If (($proc.Responding -eq $false) –or ($proc.WorkingSet -GT 500000*1024)) $proc.Kill()
Start-Sleep -s 10
Invoke-Item C:\Windows\notepad.exe
>

С помощью for можно сделать бесконечный цикл, который запускает процесс, каждые 60 секунд проверяет что он запущен и перезапускает его, если нужно:

try
If (!(Get-Process -Name notepad -ErrorAction SilentlyContinue))
>
$proc = Get-Process -Name notepad | Sort-Object -Property ProcessName -Unique -ErrorAction SilentlyContinue
If (!$proc -or ($proc.Responding -eq $false) –or ($proc.WorkingSet -GT 200000*1024)) $proc.Kill()
Start-Sleep -s 10
Invoke-Item C:\Windows\notepad.exe
>
>
catch
>
Start-sleep -s 60
>

powershell как перезапустить процесс или приложение, если его закрыли или оно зависло

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

$proc = Get-Process -ComputerName PC01 -Name notepad | Sort-Object -Property ProcessName -Unique -ErrorAction SilentlyContinue

Для удаленного запуска процесса можно использовать Invoke-Command:

Invoke-Command -ComputerName PC01 -Credential $Cred -ScriptBlock

В этом случае нужно сохранить PowerShell код в файле с расширением PS1. Можно подписать этот скрипт цифровой подписью, изменить настройки политики запуска PowerShell скриптов, или запускать его с параметром –ExecutionPolicy Bypass .

  • Имя запускаемого файла: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe
  • Параметры запуска: -windowstyle hidden -ExecutionPolicy Bypass –Noprofile -file %

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

Dragokas, благодарю за программку, как раз то, что нужно для моих целей!

Единственный вопрос, что нужно дописать в вашу программку, чтобы после перезапуска зависшего приложения спустя заданное время в миллисекундах, программа имитировала нажатие клавиши Enter для перезапущенного приложения и через 2 секунды (например) "нажимала" Enter сново, для запущенного приложения. И чтобы второй Enter, при необходимости можно было отключить. И первый тоже, при необходимости, отключить можно было.

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

Если вас не затруднит, помогите улучшить вашу программку, думаю эта дополнительная функция будет полезна не только мне.

Еще раз благодарю за данную программку, ибо хотел писать ее сам, но вовремя увидел ваш труд.

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

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

При автозапуске программы через реестр программа "не отвечает"
Доброго времени. Добавил свою программу в автозапуск в реестре. Программа сама скрытая (это такая.


Как отследить зависание чужой программы, когда в диспетчере задач состояние "не отвечает"
Практическая значимость: перезапуск сервера. Добавлено через 5 минут Желательно без.

Наиболее оптимально я бы посоветовал воспользоваться VBS-скриптом

параметр 1 - имя программы
параметр 2 - ожидание (в мс.) перед нажатием клавиши Enter (опционально)

Многие пользователи будет полезна информация о том, как перезапустить Проводник в операционной системе Windows. Перезапуск Проводника может быстро решить появившиеся проблемы в работе системы, устранить зависания и т. п.

Во время работы на компьютере пользователь замечает, что появляются зависания в работе программ, запущенные приложения долго не открываются, система «думает» продолжительное время прежде, чем выполнить какое-либо действие. Часто это происходит из-за того, что по разным причинам процесс Проводника «explorer.exe» нагружает систему, и она не реагирует, или реагирует с замедлением на команды пользователя.

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

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

Как перезапустить процесс Проводника? Для перезапуска файлового менеджера есть два варианта:

  • перезагрузка компьютера;
  • перезапуск Проводника из работающей операционной системы.

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

Второй вариант предполагает завершение процесса «explorer.exe» для перезапуска Проводника, без перезагрузки компьютера. Об использовании этих способов рассказано в инструкциях из данной статьи.

Перезапуск Проводника средствами Windows

В случае зависания Проводника, открывает окно с информацией о том, что программа не отвечает и предлагает несколько вариантов действий:

  • Перезапустить программу.
  • Закрыть программу.
  • Ожидание отклика программы.

Нажмите на пункт «Перезапустить программу» для запуска Проводника средством операционной системы Windows.

Как перезапустить Проводник в Windows 10 — 1 способ

Рассмотрим процесс перезапуска Проводника в операционной системе Windows 10 с помощью Диспетчера задач.

Необходимо выполнить следующие шаги:

  1. Кликните правой кнопкой мыши по Панели управления, в контекстном меню нажмите на «Диспетчер задач».
  2. В окне «Диспетчер задач», во вкладке «Процессы» найдите процесс «Проводник».
  3. Кликните по процессу правой кнопкой мыши, в контекстном меню выберите пункт «Перезапустить».

перезапустить

Windows перезапустит системный файловый менеджер.

Перезапуск Проводника в Windows 10 — 2 способ

Еще один довольно простой вариант для перезапуска Проводника в операционной системе Windows 10.

  1. Нажмите на клавиши клавиатуры «Ctrl» + «Shift», а затем щелкните по свободному месту на Панели задач.
  2. Откроется контекстное меню, в котором нужно нажать на «Выйти из проводника».

выйти из проводника

Для запуска Проводника выполните следующее:

  1. Нажмите на клавиши «Ctrl» + «Shift» + «Esc» запуска Диспетчера задач.
  2. После открытия окна «Диспетчер задач», нажмите на сочетание клавиш «Ctrl» + «Shift» + «F10».
  3. В Диспетчере задач сделается активным меню «Файл», нажмите на клавишу «Enter».
  4. В контекстном меню нажмите на пункт «Запустить новую задачу».
  5. В окне «Создание задачи» введите «explorer» (без кавычек), а потом нажмите «ОК».

создание задачи

Проводник снова запустится.

Как перезапустить Проводник в Windows 8 (Windows 8.1)

В операционных системах Windows 8 или Windows 8.1 для перезапуска Проводника можно использовать, наряду с другими, этот способ:

  1. Нажмите на клавиши «Ctrl» + «Shift».
  2. Щелкните по пустому месту на Панели задач.
  3. В контекстном меню выберите «Выход из проводника».

выход из проводника

  1. Нажмите на клавиши «Ctrl» + «Shift» + «Esc».
  2. В Диспетчере задач войдите в меню «Файл», выберите «Запустить новую задачу».
  3. В окне «Создание задачи» введите «explorer.exe» (без кавычек).

Как перезапустить Проводник в Windows 7

В операционной системе Windows 7 выполните следующие действия:

  1. Войдите в меню «Пуск».
  2. Нажмите на клавиши «Ctrl» + «Shift», а затем щелкните правой кнопкой мыши по свободному месту в меню «Пуск», например, около кнопки «Завершения работы».
  3. В контекстном меню выберите пункт «Выход из Проводника».

выход из проводника windows 7

Процесс проводника «explorer.exe» отключится, на экране будет только отображение обоев. В некоторых случаях, Проводник самостоятельно перезапустится.

Нам необходимо снова включить Проводник для продолжения работы на ПК:

  1. Нажмите на клавиши «Ctrl» + «Shift» + «Esc» для запуска Диспетчера задач.
  2. В окне «Диспетчер задач» нажмите на меню «Файл».
  3. В открывшемся контекстном меню выберите «Новая задача (Выполнить…)».

новая задача

  1. В окне «Создать новую задачу» введите «explorer» или «explorer.exe» (без кавычек), нажмите на кнопку «ОК».

открыть explorer

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

Как перезапустить Проводник Виндовс с помощью клавиатуры

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

Этот способ одинаково работает в операционных системах Windows 10, Windows 8.1, Windows 8, Windows 7.

Выполните следующие действия первого этапа:

  1. Нажмите одновременно на сочетание клавиш клавиатуры «Ctrl» + «Shift» + «Esc».
  2. Откроется окно Диспетчера задач во вкладке «Процессы».
  3. Нажимая на клавишу «↓» (стрелка вниз) дойдите до процесса «explorer.exe» (в Windows 7) или «Проводник» (в Windows 10, Windows 8.1, Windows 8).
  4. Нажмите на клавишу «Delete» («Del»).

Проводник отключен, на экране отображается окно Диспетчера задач. Пора переходить ко второму этапу: запуску Проводника.

  1. Нажмите на сочетание клавиш клавиатуры «Ctrl» + «Shift» + «F10».
  2. В окне «Диспетчер задач Windows» выделится меню «Файл».
  3. Нажмите на клавишу «Enter».
  4. В меню «Файл» откроется контекстное меню, снова нажмите на клавишу «Enter».
  5. В окне «Создать новую задачу», в поле «Открыть» введите «explorer» (без кавычек).
  6. Нажмите на клавишу «Enter».

Произойдет перезапуск Проводника.

Как перезапустить Проводник Windows с клавиатуры (видео)

Как перезапустить Проводник из командной строки

Сейчас мы попробуем перезапустить Проводник через командную строку Windows.

  1. Запустите командную строку от имени администратора.
  2. В окнк интерпретатора командной строки выполните последовательно две команды. После ввода каждой команды, нажмите на «Enter».

коммандная строка

Перезапуск Проводника в Windows PowerShell

Следующим способом можно перезапустить Проводник через Windows PowerShell.

  1. Запустите Windows PowerShell от имени администратора.
  2. В окне «Windows PowerShell» выполните две команды: одна команда завершает процесс проводника, другая команда запускает Проводник на компьютере.

windows powershell

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

Пользователь может самостоятельно создать специальный файл с расширением «.bat» для перезапуска Проводника. В нужный момент времени, пользователь запустит файл, который выполнит отключение и новый запуск приложения.

  1. Откройте Блокнот, введите команды (можно скопировать отсюда):

код в bat файле

  1. Войдите в меню «Файл», выберите «Сохранить как…».
  2. В поле «Тип файла» выберите «Все файлы».
  3. Присвойте файлу любое имя, например, «Проводник.bat». К имени файла обязательно добавьте расширение «.bat».
  4. Сохраните файл на компьютере.

Когда понадобится перезапустить Проводник, запустите этот файл.

Выводы статьи

Если, во время работы на компьютере возникает необходимость для презапуска Проводника Windows, пользователь может выполнить эту операцию раными способами: в Диспетчере задач, при помощи клавиш клавиатуры, выполнением команд в командной строке, в Windows PowerShell, в специально созданном «.bat» файле.

Как сделать автоматический запуск(перезапуск) службы windows по расписанию? С таким вопросом я столкнулся совсем недавно, участвуя в одном из проектов по своей работе. Решение оказалось достаточно простым.

Службы windows

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

Создание сценария для службы

Сценарий запуска/перезапуска службы представляет собой обычный батник (bat-файл), который будет содержать команды:

1. Для запуска службы

2. Для перезапуска службы

Пример файла перезапуска службы windows

В качестве примера использована служба KMService.

Итак, создаем батник (bat-файл) с командами для перезапуска службы, который будет содержать две строки:

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

Создание задачи в windows

Пуск. Панель управления

Раздел администрирование

Планировщик заданий

Запуск служб windows по расписанию

Запуск служб windows по расписанию

Запуск служб windows по расписанию

Запуск служб windows по расписанию

Запуск служб windows по расписанию

Запуск служб windows по расписанию

Готово! Если все было сделано правильно, то задача будет выполняться по расписанию и будет перезапускать выбранную службу windows.

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