Скрипт перезапуска зависшей программы в windows 7

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

Открыть настройки служб Windows можно 4 способами:

  1. Нажать Win+R, в окне Выполнить ввести services.msc и нажать Enter. Откроется Диспетчер служб.
  2. Нажать Пуск, в поиске ввести Службы, открыть настройки.
  3. Открыть Панель управления -> Система и безопасность -> Администрирование -> Службы.
  4. Нажать ПКМ на кнопке Пуск или клавиши Win+X. Перейти в «Управление компьютером -> Службы и приложения -> Службы.

К счастью, от версии к версии Windows этот раздел настроек практически не изменялся. В Windows 7, Vista, 8 и 10 «Службы» будут выглядеть почти одинаково.

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

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

Остановка и повторный запуск служб Windows:

  1. Открыть любым способом окно Службы, найти нужную.
  2. Нажать по нужной службе правой кнопкой мыши и выбрать Перезапустить.
  3. Если кнопка Перезапустить неактивна — нажать Свойства.
  4. Нажать Остановить, дождаться остановки службы.
  5. Нажать на кнопку Запустить.

Если служба зависла или не остановилась — открыть диспетчер задач (Ctrl+Alt+Del) и завершить все процессы, связанные с проблемной службой.

Перезапуск через Командную строку

Если Панель управления не справляется со своими обязанностями, отключить или перезапустить службу можно через Командную строку (cmd.exe). Командная строка должна быть запущена от имени администратора.

Для управления службами существует 4 команды, дублирующие функционал Панели управления:

  • net stopservice — Остановить выбранную службу.
  • net startservice — Запустить.
  • net pauseservice — Приостановить обслуживание.
  • net continueservice — Возобновить обслуживание.
Читайте также  Слова трафареты для вырезания из бумаги

Для работы со службой нужно знать её название. Например, запуск службы Windows Audio будет выполнен по команде net start audiosrv. Здесь audiosrv — системное название службы.

Чтобы его узнать, нужно зайти в свойства. Нужная строка будет в самом верху — «Имя службы». Вывести списком имена всех активных служб можно прямо в Командной строке, введя sc query type= service.

Через консоль можно не только перезапустить службу, но и изменить её тип запуска командой sc config *СЛУЖБА* start=*ТИП_ЗАПУСКА*.

Доступные типы запуска:

  • auto — Автоматически.
  • demand — Вручную (по требованию).
  • delayed-auto — Отложенный запуск.

Например, команда sc config audiosrv start=auto переведет службу Windows Audio в тип запуска Автоматически.

Для полноты нужно упомянуть еще один способ перезапуска — через Диспетчер задач. Для этого нужно нажать комбинацию клавиш Ctrl+Alt+Del (или Ctrl-Shift-Esc), выбрать Диспетчер задач и перейти на вкладку Службы. По нажатию правой кнопки мыши на любой службе появляется контекстное меню, откуда доступна и остановка, и запуск, и перезагрузка.

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

2 ответа 2

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

Надо запускать с помощью системного сервиса cron. Вы же под люнихом работаете?

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

Что конкретно нужно писать в таблицу, прочитайте в man 5 crontab. Скорее всего, дополнительная строчка будет иметь вид:

Читайте также  Распространенные пароли вай фай

Что означает: запускать скрипт /home/taiko/scripts.sh каждую минуту с понедельника по пятницу.

Как именно надо редактировать этот файл – прочитайте в man 1 crontab.

PS. Не моё, разумеется дело, но я шибко подозреваю, что речь идёт о типичном виндовозном приёме передачи информации между двумя программами, когда одна программа пишет данные в некоторые файлы в фиксированном каталоге, а другая (потребитель) регулярно просматривает этот каталог.

Поверьте, это самоё плохое решение. В Linux для этого есть гораздо более подходящие средства.

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

нормального внятного ответа я не нашел в интернете. .
были ответы:
"
[HKEY_CURRENT_USERCONTROL PANELDESKTOP]. ЗДЕСЬ НАХОДИТСЯ ТРИ ПАРАМЕРТРА, ОТВЕЧАЮЩИХ ЗА
ЗАВИСШИЕ ПРИЛОЖЕНИЯ:
HungAppTimeout – время в миллисекундах, через которое система считает зависшим неотвечающее
приложение ( по умолчанию 5000 и менять не рекомендуется! )
WaitToKillServiceTimeout – пауза в миллисекундах перед уничтожением зависшей службы
(по умолчанию 20000, рекомендуется 2000)
AutoEndTasks – изменить значение параметра на 1, чтобы разрешить системе убивать зависшие
процессы самостоятельно, без вашего подтверждения.
"

Но проблема в том что таких ключей у меня в реестре нету!

Про диспетчер задач даже не заикайтесь

Еще было предложение сделать bat файл который бы каждые 5 минут проверял приложение на зависание,
Ну так и сделал, но этот бат файл половину ЦП грузил.. .

Ну так вот друг мне сказал что есть служба в системе отвечающая за это.. . он у себя (тоже win 7) отключил её. но такой службы у меня как не странно в системе тоже нету

Внимание знатоки! как исправить кривизну рук у гейтса?

Читайте также  Программа на андроид для открытия вордовских документов

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

1) Щелкните по рабочему столу и выберите во всплывшем меню Создать -> Ярлык.
2) В поле "Укажите расположение объекта" введите команду
taskkill.exe /f /fi "status eq NOT RESPONDING"
3) Щелкните правой кнопкой мыши на ярлыке и выберите Свойства
4) В поле "Быстрый вызов" назначьте комбинацию клавиш для использования.

Создание ярлыка и комбинации клавиш для перезапуска Проводника.

Ссылка на основную публикацию
Adblock detector