Python service error 1053

“Error 1053: The service did not respond timely”, could not start Windows service created with cx_Freeze from Python code #450 Comments I’m trying to create Windows service from my Python code using cx_Freeze. Python code works fine, it’s debugged and reliable, but when I create exe file I got problems. Here is my cx_Freeze […]

Содержание

  1. “Error 1053: The service did not respond timely”, could not start Windows service created with cx_Freeze from Python code #450
  2. Comments
  3. Русские Блоги
  4. Python пишет службу Windows и запускает службу с ошибкой 1053: служба не ответила на запрос запуска или управления своевременно
  5. Установите pywin32
  6. Для достижения
  7. Ошибка 1053
  8. все службы Windows Python не запускаются все Служба кода Python может быть установлена, но не может запуститься Error 1053: The service did not respond to the start or control request in a timely fashion». с момента моей службы можно установить и запустить на моем сервере. я думаю, что мой код не проблема. но мне все еще интересно, есть ли решение, которое я могу решить эту ошибку в коде выполнить результат команды «sc query [имя]»: Обновление: я могу запустить эту службу в режиме отладки, cmd: Эта медитация ответ предлагает добавить Python в системный PATH. Это сработало для меня — S Anand 7 ответы Была такая же проблема с использованием pypiwin32 (версия: 220) и python (версия: 3.6). Пришлось скопировать: для запуска службы (работал в режиме отладки) ответ дан 07 мар ’20, в 15:03 Работал на меня. Спасибо! но до сих пор не могу понять, что пошло не так! — Хасан Байдун Работал и для меня. Но в моем случае исходная папка была названа «pywin32_system32». Эта dll была найдена в этой папке по тому же пути. — Хаммад Хасан Это сработало и для меня. что с этим делать? Нам не нужно перемещаться по библиотекам DLL после pip установка pywin32 . Скопировано C:Python37Libsite-packagespywin32_system32pywintypes37.dll в C:Python37Libsite-packageswin32pywintypes37.dll — цантор У меня была эта проблема только в Windows 2019, копирование файла pywintypes36.dll решило проблему. — Эльсадек python your_service.py debug работает, пока python your_service.py install + запустить как сервис не получается с ошибкой 1053, эта команда может помочь python C:Python27Scriptspywin32_postinstall.py . Создан 11 июля ’18, 11:07 pywin32_postinstall был решением! Благодарю вас! — Норман python C:Python27Scriptspywin32_postinstall.py -install у меня сработало, спасибо! — Питер Вестлейк все мои службы Windows, закодированные на Python, не могут работать на моем компьютере. но все они могут запускаться на нашем dev-сервере, что означает, что мой код правильный. но я нашел альтернативное решение, запустить в debug mode : ответ дан 13 дек ’12, 09:12 def Run(self): можно ли напечатать «тест» только в одной строке? или весь этот мусор кода должен быть там? — пользователь 285594 Убедитесь, что вы запускаете приложение с другим пользователем, а не пользователем локальной системы по умолчанию. Замените его пользователем, с которым вы успешно сможете запустить команду отладки. Для замены пользователя заходим в службы windows ( start > services.msc ) Щелкните правой кнопкой мыши созданную вами службу> свойства> Войти Снимите флажок с учетной записи локальной системы и введите свою собственную. ответ дан 09 окт ’18, 10:10 Все известные исправления не помогли мне, и это сработало: щелкните правой кнопкой мыши установленную службу; Перейдите в Вход в систему вкладка; Выбрать «Этот аккаунт» и введите свой идентификатор пользователя и пароль; Перезагрузите компьютер. Мне объяснили, что это связано с разрешениями Windows. Метод не будет работать, если для пользователя Windows не установлен пароль. В моем случае проблема была в python37.dll не в C:Python37-x64Libsite-packageswin32 . Просто скопируйте его туда, и это решит проблему. ответ дан 10 дек ’20, 03:12 У меня была аналогичная проблема со службой python, и я обнаружил, что в ней отсутствуют библиотеки DLL, поскольку «Системный путь» (а не пользовательский путь) не был завершен. Проверьте путь на вашем dev-сервере и убедитесь, что он соответствует пути на вашем компьютере (системный путь, если служба установлена ​​как служба LocalSystem). Для меня мне не хватало пути dll python c:python27 (windows). это сработало для меня. хотя было бы полезно узнать, чего именно не хватает, и можно ли его включить при создании исполняемого файла с помощью pyinstaller — УАБИИЦ Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками python windows-services or задайте свой вопрос. Источник Ошибка 1053 Служба не ответила на запрос своевременно — как исправить? При входе в Windows 10 и Windows 11, а иногда — при работе в системе или запуске программ вы можете столкнуться с сообщением об ошибке: «Не удалось запустить службу. Ошибка 1053: Служба не ответила на запрос своевременно». В некоторых случаях в сообщении фигурирует название службы. Иногда — нет. В этой инструкции подробно о том, чем бывает вызвана ошибка и как исправить ошибку 1053 «Служба не ответила на запрос своевременно». Причины и основные способы исправить ошибку 1053 «Служба не ответила на запрос своевременно» При запуске Windows 10 или Windows 11, входе в систему, некоторых действиях в системе, а иногда — при запуске сторонних программ может производиться запуск необходимых служб. При этом ОС ждёт их запуска определенное время и, если в течение этого времени сообщение об успешном запуске не было получено, вы видите ошибку 1053 «Служба не ответила на запрос своевременно». Основные способы исправить ошибку: Изменить (увеличить) время ожидания запуска службы Отключить запуск службы, если она не является обязательной Начнём с первого варианта. При необходимости вы можете увеличить время ожидания запуска службы с помощью редактора реестра, для этого: Нажмите правой кнопкой мыши по кнопке «Пуск», выберите пункт «Выполнить», введите regedit и нажмите Enter — запустится редактор реестра. Перейдите в раздел реестра Нажмите правой кнопкой мыши в пустом месте правой панели реестра и создайте новый параметр DWORD, задайте имя ServicesPipeTimeout для него. Дважды нажмите по вновь созданному параметру, переключите систему счисления в десятичный вид и укажите значение времени ожидания. 60000 будет соответствовать одной минуте (60 секунд), можно выставить и более высокое значение, например — 180000. Нажмите «Ок», закройте редактор реестра, перезагрузите компьютер и проверьте, появляется ли ошибка вновь. В случае, если в сообщение об ошибке отображается имя службы, с которой возникла проблема, при этом это сторонняя, а не системная служба и не является необходимой для работы Windows или программ, её можно попробовать отключить: Нажмите клавиши Win+R на клавиатуре, введите services.msc и нажмите Enter (подробнее — Способы открыть службы Windows). В списке служб найдите нужную службу и дважды нажмите по ней. В поле «Тип запуска» установите «Отключена», нажмите «Ок». Закройте окно служб и перезагрузите компьютер. Проверьте, всё ли работает исправно и перестала ли появляться ошибка. Учитывайте, что не следует отключать системные службы, особенно если вы не знаете, обязательны ли они для работы Windows. Дополнительные способы решения проблемы Если предыдущие простые варианты не помогли, можно попробовать следующие подходы: Если служба относится к какой-то сторонней программе, а отключение службы мешает её запуску, можно попробовать выполнить переустановку программы. Если вы меняли права доступа к папкам на компьютере, это также может привести к ошибке. Среди примеров — службы Autodesk. Если к папкам с файлами службы нет доступа для «Пользователи» и «Локальная служба», можно получить ошибку 1053. Если ошибка стала появляться после того, как вы изменили параметры запуска каких-либо системных служб Windows, попробуйте восстановить исходные параметры. Подробнее: Службы по умолчанию в Windows 10 В случае, если неизвестна служба, вызывающая проблему, использовать чистую загрузку Windows, чтобы её определить, затем попробовать вариант с её отключением. Если проблема стала появляться недавно, использовать точки восстановления системы на дату, когда ошибки не было. Об этом в статьях: Точки восстановления системы Windows 11, Точки восстановления системы Windows 10. В некоторых случаях запуску служб (или получению сообщений об успешном запуске) может мешать повреждение системных файлов Windows. Попробуйте выполнить их восстановление: Восстановление целостности системных файлов Windows 11, Восстановление системных файлов Windows 10. В случае, если проблема не была решена, опишите ситуацию в комментариях, с указанием имени службы и в каких случаях появляется ошибка. Я буду рад помочь. Источник
  9. 7 ответы
  10. Ошибка 1053 Служба не ответила на запрос своевременно — как исправить?
  11. Причины и основные способы исправить ошибку 1053 «Служба не ответила на запрос своевременно»
  12. Дополнительные способы решения проблемы

“Error 1053: The service did not respond timely”, could not start Windows service created with cx_Freeze from Python code #450

I’m trying to create Windows service from my Python code using cx_Freeze. Python code works fine, it’s debugged and reliable, but when I create exe file I got problems.

Here is my cx_Freeze setup code:

When I create exe file, I could install it as service:

Also I could finely debug it, it works as expected.

But it doesn’t start:

Could anybody help with it? I’ve posted about it on https://stackoverflow.com/questions/53902729/error-1053-the-service-did-not-respond-timely-could-not-start-windows-servic , but I think it is cx_Freeze or something like that related cause Python code works fine and I could start bare Python coded service with no problems.

The text was updated successfully, but these errors were encountered:

I know this is a old ticket but I encountered the same issue today with cx_freeze 6.2 and python 3.7.4.

My application works well with when frozen as a console executable, but fails to start when frozen as windows service.

I have narrow down problem to numpy import.

You can reproduce the problem with the cx_Freeze service example by adding import numpy in ServiceHandler.py and using the following options in setup.py :

@pbesson-invn
cx_Freeze 6.3 has just been released.
Can you check if this has been resolved?

Can you use numpy==1.18.2 to test and report?

Still got the same problem with:

Did you solve the issue regarding the application running as windows services? It works as a Windows console but then I can not install it as a Windows service.

flaskapp = Executable(‘win32_service.py’,base=’Console’) #is not working with ‘base=Win32Service

Do you have a working test as Win32Service ??

Since this is compiled as the console is not able to recognize the window service.

Thank you @marcelotduarte for the reply!

I tried the sample but I having an error with the cx_logging. When I do ‘pip install cx_Logging’

cx-Freeze==6.5.1
Python 3.8.0

@mvgarcia07 cx_Logging hasn’t wheels/binary for py38+ and has to be compiled. It needs a C compiler, or you can get a compiled wheel at https://www.lfd.uci.edu/

@marcelotduarte Thanks that solved the cx_Logging.h issue!

However, when I build the executable is not doing anything I am not familiar with threading is that a requirement?
I already have a service handler working. I just need to build the working executable.

It is hard to troubleshoot because it creates the .exe but does not do anything.

So what I did was to create a template example for testing and I added a Readme with all the steps I took.
here it is
https://github.com/mvgarcia07/python-flask-as-window-service/tree/main/cx_Freeze_example

  • If I compile as a console it works but of course is not a windows service
    python setup_console.py build
  • If I tried as windows services it compiled but the .exe does not do anything
    python setup.py build

I also asked the community to see if they already have an example of working with flask if not definitely this could be a contribution 🙂

Thanks in advance!

What I am suggesting is that you use cx_Logging instead of pywin32. cx_Logging was developed by the same author as cx_Freeze, exactly to simplify this process and deal with these problems.

However, when I build the executable is not doing anything I am not familiar with threading is that a requirement?

threading.Event() is used instead of win32event.CreateEvent(None,0,0,None)
If you mixup, problems arise.

It is hard to troubleshoot because it creates the .exe but does not do anything.

So when using cx_Logging, if you have any problems, the errors are recorded in a log and you can find out what went wrong.

Источник

Русские Блоги

Python пишет службу Windows и запускает службу с ошибкой 1053: служба не ответила на запрос запуска или управления своевременно

В основном, чтобы записать ошибку 1053, потребовалось время, чтобы найти решение.

каталог

Установите pywin32

Для реализации службы вдов требуется сторонний модуль pywin32. Способ установки: откройте командную строку cmd, установите pip-установку pywin32, а затем убедитесь, что установка прошла успешно. Вы можете увидеть, установлен ли pywin32 в списке pip.

Если вы используете PyCharm, вам также нужно установить и установить pywin32 в PyCharm, иначе PyCharm не сможет распознать API pywin32.

Для достижения

В сети уже много кода

Ошибка 1053

После того, как код работает без проблем, установите службу, но при запуске возникает ошибка 1053: служба не ответила на запрос запуска или управления своевременно

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

Найдите решение позже:

What you need to do is to add the Python27 to SYSTEM PATH, and not to USER PATH, since as a default the python service will get installed as a ‘LocalSystem’ and so when it attempts to start it uses the SYSTEM PATH variable — that’s why you can run it from the command prompt, your USER PATH is right.

Установка Python по умолчанию — LocalSystem, которая настраивает пути пользователя вместо переменных среды, поэтому вам необходимо добавить переменные среды.

Удалите путь python из пользовательской переменной и добавьте путь python в переменную окружения.

Источник

все службы Windows Python не запускаются

все Служба кода Python может быть установлена, но не может запуститься

Error 1053: The service did not respond to the start or control request in a timely fashion».

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

но мне все еще интересно, есть ли решение, которое я могу решить эту ошибку в коде

выполнить результат команды «sc query [имя]»:

Обновление:

я могу запустить эту службу в режиме отладки, cmd:

Эта медитация ответ предлагает добавить Python в системный PATH. Это сработало для меня — S Anand

7 ответы

Была такая же проблема с использованием pypiwin32 (версия: 220) и python (версия: 3.6). Пришлось скопировать:

для запуска службы (работал в режиме отладки)

ответ дан 07 мар ’20, в 15:03

Работал на меня. Спасибо! но до сих пор не могу понять, что пошло не так! — Хасан Байдун

Работал и для меня. Но в моем случае исходная папка была названа «pywin32_system32». Эта dll была найдена в этой папке по тому же пути. — Хаммад Хасан

Это сработало и для меня. что с этим делать? Нам не нужно перемещаться по библиотекам DLL после pip установка pywin32 . Скопировано C:Python37Libsite-packagespywin32_system32pywintypes37.dll в C:Python37Libsite-packageswin32pywintypes37.dll — цантор

У меня была эта проблема только в Windows 2019, копирование файла pywintypes36.dll решило проблему. — Эльсадек

  • python your_service.py debug работает, пока
  • python your_service.py install + запустить как сервис не получается с ошибкой 1053,

эта команда может помочь python C:Python27Scriptspywin32_postinstall.py .

Создан 11 июля ’18, 11:07

pywin32_postinstall был решением! Благодарю вас! — Норман

python C:Python27Scriptspywin32_postinstall.py -install у меня сработало, спасибо! — Питер Вестлейк

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

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

но я нашел альтернативное решение, запустить в debug mode :

ответ дан 13 дек ’12, 09:12

def Run(self): можно ли напечатать «тест» только в одной строке? или весь этот мусор кода должен быть там? — пользователь 285594

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

  • Для замены пользователя заходим в службы windows ( start > services.msc )
  • Щелкните правой кнопкой мыши созданную вами службу> свойства> Войти
  • Снимите флажок с учетной записи локальной системы и введите свою собственную.

ответ дан 09 окт ’18, 10:10

Все известные исправления не помогли мне, и это сработало:

  1. щелкните правой кнопкой мыши установленную службу;
  2. Перейдите в Вход в систему вкладка;
  3. Выбрать «Этот аккаунт» и введите свой идентификатор пользователя и пароль;
  4. Перезагрузите компьютер.

Мне объяснили, что это связано с разрешениями Windows.

Метод не будет работать, если для пользователя Windows не установлен пароль.

В моем случае проблема была в python37.dll не в C:Python37-x64Libsite-packageswin32 .

Просто скопируйте его туда, и это решит проблему.

ответ дан 10 дек ’20, 03:12

У меня была аналогичная проблема со службой python, и я обнаружил, что в ней отсутствуют библиотеки DLL, поскольку «Системный путь» (а не пользовательский путь) не был завершен. Проверьте путь на вашем dev-сервере и убедитесь, что он соответствует пути на вашем компьютере (системный путь, если служба установлена ​​как служба LocalSystem). Для меня мне не хватало пути dll python c:python27 (windows).

это сработало для меня. хотя было бы полезно узнать, чего именно не хватает, и можно ли его включить при создании исполняемого файла с помощью pyinstaller — УАБИИЦ

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками python windows-services or задайте свой вопрос.

Источник

Ошибка 1053 Служба не ответила на запрос своевременно — как исправить?

При входе в Windows 10 и Windows 11, а иногда — при работе в системе или запуске программ вы можете столкнуться с сообщением об ошибке: «Не удалось запустить службу. Ошибка 1053: Служба не ответила на запрос своевременно». В некоторых случаях в сообщении фигурирует название службы. Иногда — нет.

В этой инструкции подробно о том, чем бывает вызвана ошибка и как исправить ошибку 1053 «Служба не ответила на запрос своевременно».

Причины и основные способы исправить ошибку 1053 «Служба не ответила на запрос своевременно»

При запуске Windows 10 или Windows 11, входе в систему, некоторых действиях в системе, а иногда — при запуске сторонних программ может производиться запуск необходимых служб. При этом ОС ждёт их запуска определенное время и, если в течение этого времени сообщение об успешном запуске не было получено, вы видите ошибку 1053 «Служба не ответила на запрос своевременно».

Основные способы исправить ошибку:

  • Изменить (увеличить) время ожидания запуска службы
  • Отключить запуск службы, если она не является обязательной

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

  1. Нажмите правой кнопкой мыши по кнопке «Пуск», выберите пункт «Выполнить», введите regedit и нажмите Enter — запустится редактор реестра.
  2. Перейдите в раздел реестра
  3. Нажмите правой кнопкой мыши в пустом месте правой панели реестра и создайте новый параметр DWORD, задайте имя ServicesPipeTimeout для него.
  4. Дважды нажмите по вновь созданному параметру, переключите систему счисления в десятичный вид и укажите значение времени ожидания. 60000 будет соответствовать одной минуте (60 секунд), можно выставить и более высокое значение, например — 180000.
  5. Нажмите «Ок», закройте редактор реестра, перезагрузите компьютер и проверьте, появляется ли ошибка вновь.

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

  1. Нажмите клавиши Win+R на клавиатуре, введите services.msc и нажмите Enter (подробнее — Способы открыть службы Windows).
  2. В списке служб найдите нужную службу и дважды нажмите по ней.
  3. В поле «Тип запуска» установите «Отключена», нажмите «Ок».
  4. Закройте окно служб и перезагрузите компьютер.

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

Дополнительные способы решения проблемы

Если предыдущие простые варианты не помогли, можно попробовать следующие подходы:

  • Если служба относится к какой-то сторонней программе, а отключение службы мешает её запуску, можно попробовать выполнить переустановку программы.
  • Если вы меняли права доступа к папкам на компьютере, это также может привести к ошибке. Среди примеров — службы Autodesk. Если к папкам с файлами службы нет доступа для «Пользователи» и «Локальная служба», можно получить ошибку 1053.
  • Если ошибка стала появляться после того, как вы изменили параметры запуска каких-либо системных служб Windows, попробуйте восстановить исходные параметры. Подробнее: Службы по умолчанию в Windows 10
  • В случае, если неизвестна служба, вызывающая проблему, использовать чистую загрузку Windows, чтобы её определить, затем попробовать вариант с её отключением.
  • Если проблема стала появляться недавно, использовать точки восстановления системы на дату, когда ошибки не было. Об этом в статьях: Точки восстановления системы Windows 11, Точки восстановления системы Windows 10.
  • В некоторых случаях запуску служб (или получению сообщений об успешном запуске) может мешать повреждение системных файлов Windows. Попробуйте выполнить их восстановление: Восстановление целостности системных файлов Windows 11, Восстановление системных файлов Windows 10.

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

Источник

Answer by Waylon Stephens

all python code service can install but cannot start,all my python coded windows service cannot run on my computer.,python your_service.py install + start it as a service fails with error 1053,,Error 1053: The service did not respond to the start or control request in a timely fashion».

Had the same problem using pypiwin32 (version: 220) and python (version: 3.6). I had to copy :

"Python36-32Libsite-packagespypiwin32_system32pywintypes36.dll"

to

"Python36-32Libsite-packageswin32"

Answer by Crosby Velez

I’m trying to create Windows service from my Python code using cx_Freeze. Python code works fine, it’s debugged and reliable, but when I create exe file I got problems.,Also I could finely debug it, it works as expected.,Here is my cx_Freeze setup code:,Since this is compiled as the console is not able to recognize the window service.

# Config file for packing python scripts into exe file
# Run with "python.exe create_win_exe.py build"
import sys
from cx_Freeze import setup, Executable

version = '1.00'

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {'packages': ['win32timezone'], 'includes': ['idna.idnadata']}

# Use default base - console application
base = None

setup(name = "service-test",
      version = version,
      description = "Service test",
      options = {"build_exe": build_exe_options},
      executables = [Executable("service-test.py", base=base)])

Answer by Ahmad Higgins

Once in the registry editor, navigate to the following file path:,Once in an elevated command prompt, execute the following commands one by one:,Click on the “Change” button present in the preceding screen. It will be right in front of the owner’s value. Here we will change the owner of this folder from the default value to your computer account.Changing Owner of application,After resetting your network, make sure that you have internet access by checking through your browser and see if the issue is resolved.

  1. Press Windows + R, type “regedit” in the dialogue box and press Enter.
  2. Once in the registry editor, navigate to the following file path:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
  1. Press Windows + S, type “command prompt” in the dialogue box, right-click on the application and select Run as administrator.
  2. Once in an elevated command prompt, execute the following commands one by one and make sure that they complete:
sfc /scannow

DISM /Online /Cleanup-Image /RestoreHealth
  1. Press Windows + R, type “command prompt” in the dialogue box, right-click on the application and select “Run as administrator”.
  2. Once in an elevated command prompt, execute the following commands one by one:
netsh winsock reset

ipconfig /renew
  • Making sure .NET Frameworks are in sync: If the application/service which you are trying to launch is on another Framework than that of the hosting machine, you will experience issues. Make sure that the frameworks are in sync.
  • Using Release Build: Developers usually tend to use the Debug build to test various services and their operations. However, it was noted that not running the service in Release build cause several problems.
  • To debug the startup of your service (to get more insight), insert the code listed below on the top of the OnStart() method of your service:
while(!System.Diagnostics.Debugger.IsAttached) Thread.Sleep(100);

Answer by Remington Daniels

Next message: [python-win32] Python Service error 1053: the service did not respond to the start or control request in a timely fashion
,Previous message: [python-win32] Python Service error 1053: the service did not respond to the start or control request in a timely fashion


From: "Richard Zinn" <ricozinn at gmail.com>
> Hi, I've implemented the MyService.py example from the py2exe samples
> directory using Python2.6, on my Windows XP SP2, and I get the error
> 1052...did not respond in a timely fashion immediately when I run the
> MyService.py, or the MyService.exe, or if I install it as a service using 
> an
> NSIS installer script I wrote, and start it using the windows service
> manager.
> Any ideas?  Here is the code reduced to just the essentials:
>
> import win32serviceutil
> import win32service
> import win32event
> import win32evtlogutil
>
> class MyService(win32serviceutil.ServiceFramework):
>    _svc_name_ = "MyService"
>    _svc_display_name_ = "My Service"
>    _svc_deps_ = ["EventLog"]
>    def __init__(self, args):
>        win32serviceutil.ServiceFramework.__init__(self, args)
>        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
>
>    def SvcStop(self):
>        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
>        win32event.SetEvent(self.hWaitStop)
>
>    def SvcDoRun(self):
>        import servicemanager
>        log("running")
>
>        win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)
>        log("stopped")
>
> if __name__ == '__main__':
>    win32serviceutil.HandleCommandLine(MyService)
>
> I've seen other posters with similar problems, but with theirs it doesn't
> work in the .exe, but in my case it doesn't work when I run the .py 
> either.
> The traceback in python says:
>> python MyService.py
>
> Collecting Python Trace Output...
> Traceback (most recent call last):
>  File "C:Python26Libsite-packageswin32libwin32serviceutil.py", line
> 399,
> in StartService
>    win32service.StartService(hs, args)
> pywintypes.error: (1053, 'StartService', 'The service did not respond to 
> the
> sta
> rt or control request in a timely fashion.')
>
>
> Thanks in advance,
> Richard

If SvcDoRun is run in it's own thread, then I suspect the import residing 
inside that function.  If I remember correctly, Python's import mechanism 
causes the thread where the import takes place to deadlock, so you should 
always perform an import inside your main thread.  Try importing 
servicemanager from the top of your script, instead of inside of SvcDoRun. 
Then your example should start throwing exceptions because it can't find 
'log.'  :-) 


Answer by Julia Roberson

Error 1053: The service did not respond to the start or control request in a timely fashion».,all python code service can install but cannot start,I’ve had very good results having service communication through a simple socket connection — document your service protocol well, keep it as simple as possible, and it’ll be easier than you think.,since my service can install and start in my server.
i think my code has no problem.

my service:

import win32serviceutil
import win32service
import win32event

import time
import traceback
import os

import ConfigParser
import time
import traceback
import os
import utils_func
from memcache_synchronizer import *

class MyService(win32serviceutil.ServiceFramework):
    """Windows Service."""
    os.chdir(os.path.dirname(__file__))
    conf_file_name = "memcache_sync_service.ini"
    conf_parser = ConfigParser.SafeConfigParser()
    conf_parser.read(conf_file_name)
    _svc_name_, _svc_display_name_, _svc_description_ = utils_func.get_win_service(conf_parser)

    def __init__(self, args):
        if os.path.dirname(__file__):
            os.chdir(os.path.dirname(__file__))
        win32serviceutil.ServiceFramework.__init__(self, args)

        # create an event that SvcDoRun can wait on and SvcStop can set.
        self.stop_event = win32event.CreateEvent(None, 0, 0, None)

    def SvcDoRun(self):
        self.Run()
        win32event.WaitForSingleObject(self.stop_event, win32event.INFINITE)

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.stop_event)
        LoggerInstance.log("memcache_sync service is stopped")
        self.ReportServiceStatus(win32service.SERVICE_STOPPED)
        sys.exit()

    def Run(self):
        try:
            LoggerInstance.log("n******nmemcache_sync_service is running, configuration: %sn******" % (self.conf_file_name,))
            if ((not self.conf_parser.has_section('Memcache')) or
                (not self.conf_parser.has_option('Memcache', 'check_interval'))):
                LoggerInstance.log('memcache_sync_service : no Memcache service parameters')
                self.SvcStop()

            # set configuration parameters from ini configuration
            self.check_interval = self.conf_parser.getint('Memcache', 'check_interval')

            ms = MemcacheSynchronizer()
            while 1:
                ms.Sync()
                time.sleep(self.check_interval)
        except:
            LoggerInstance.log("Unhandled Exception nt%s" % (traceback.format_exc(),))


if __name__ == '__main__':
    win32serviceutil.HandleCommandLine(MyService)

SERVICE_NAME: NewsMonitoringMemcacheSynchronizer

   TYPE               : 10  WIN32_OWN_PROCESS 
   STATE              : 1  STOPPED 
                           (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
   WIN32_EXIT_CODE    : 0 (0x0)
   SERVICE_EXIT_CODE  : 0 (0x0)
   CHECKPOINT         : 0x0
   WAIT_HINT          : 0x0

i can run this service with debug mode, cmd:

memcache_syn_service.py debug

Answer by Dallas Gregory

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL),If a question is poorly phrased then either ask for clarification, ignore it, or
edit the question and fix the problem. Insults are not welcome.,Understand that English isn’t everyone’s first language so be lenient of bad
spelling and grammar.,Don’t tell someone to read the manual. Chances are they have and don’t get it.
Provide an answer or move on to the next question.

Services that use the local system account to log on to a Microsoft Windows Server 2003-based computer do not start. By default, services such as the following use the local system account to log on:

    World Wide Web Publishing Service
    Microsoft Windows Installer
    Microsoft Windows Management Instrumentation

I’m trying to create Windows service from my Python code using cx_Freeze. Python code works fine, it’s debugged and reliable, but when I create exe file I got problems.

Here is my cx_Freeze setup code:

# Config file for packing python scripts into exe file
# Run with "python.exe create_win_exe.py build"
import sys
from cx_Freeze import setup, Executable

version = '1.00'

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {'packages': ['win32timezone'], 'includes': ['idna.idnadata']}

# Use default base - console application
base = None

setup(name = "service-test",
      version = version,
      description = "Service test",
      options = {"build_exe": build_exe_options},
      executables = [Executable("service-test.py", base=base)])

Python code (I’ve taken example from here https://stackoverflow.com/questions/32404/how-do-you-run-a-python-script-as-a-service-in-windows/32440#32440):

# -*- coding: utf-8 -*-
import win32serviceutil
import win32service
import win32event
import servicemanager
import socket
import datetime
import time

class AppServerSvc (win32serviceutil.ServiceFramework):
    _svc_name_ = "TestService5"
    _svc_display_name_ = "Test Service 5"
    stop_flag = False

    def __init__(self,args):
        win32serviceutil.ServiceFramework.__init__(self,args)
        self.hWaitStop = win32event.CreateEvent(None,0,0,None)
        socket.setdefaulttimeout(60)

    def SvcStop(self):
        self.stop_flag = True
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.hWaitStop)

    def SvcDoRun(self):
        servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
                              servicemanager.PYS_SERVICE_STARTED,
                              (self._svc_name_,''))
        self.main()

    def main(self):
        fout = open('C:\Users\Константин\service-test.log', 'w')
        while not self.stop_flag:
            try:
                fout.write(str(datetime.datetime.now()) + 'n')
                fout.flush()
            except BaseException as be:
                print('Error while writing to file: {}'.format(str(be)))
            time.sleep(1)

if __name__ == '__main__':
    win32serviceutil.HandleCommandLine(AppServerSvc)

When I create exe file, I could install it as service:

  > service-test.exe install
  Installing service TestService5
  Service installed

Also I could finely debug it, it works as expected.

But it doesn’t start:

> service-test.exe start
Starting service TestService5
Error starting service: The service did not respond timely

Could anybody help with it? I’ve posted about it on https://stackoverflow.com/questions/53902729/error-1053-the-service-did-not-respond-timely-could-not-start-windows-servic , but I think it is cx_Freeze or something like that related cause Python code works fine and I could start bare Python coded service with no problems.

В основном, чтобы записать ошибку 1053, потребовалось время, чтобы найти решение.

каталог

Установите pywin32

Для достижения

Ошибка 1053


Установите pywin32

Для реализации службы вдов требуется сторонний модуль pywin32. Способ установки: откройте командную строку cmd, установите pip-установку pywin32, а затем убедитесь, что установка прошла успешно. Вы можете увидеть, установлен ли pywin32 в списке pip.

ссылка

https://jingyan.baidu.com/article/6b97984de993431ca2b0bfc2.html

Если вы используете PyCharm, вам также нужно установить и установить pywin32 в PyCharm, иначе PyCharm не сможет распознать API pywin32.

ссылка

https://www.cnblogs.com/hackpig/p/8186214.html

Для достижения

В сети уже много кода

# ZPF
# encoding=utf-8
import win32timezone
from logging.handlers import TimedRotatingFileHandler
import win32serviceutil
import win32service
import win32event
import os
import logging
import inspect
import time
import shutil


class PythonService(win32serviceutil.ServiceFramework):
    _svc_name_ = "PythonService1" # Имя службы
         _svc_display_name_ = "Clearjob" # отображаемое имя задания в службах Windows
         _svc_description_ = "Очистить системные файлы" # описание задания

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
        self.logger = self._getLogger()
        self.path = 'D:\WebSite'
        self.T = time.time()
        self.run = True

    def _getLogger(self):
                 '' 'Ведение журнала' ''
        logger = logging.getLogger('[PythonService]')
        this_file = inspect.getfile(inspect.currentframe())
        dirpath = os.path.abspath(os.path.dirname(this_file))
                 if os.path.isdir ('% s \ log'% dirpath): # Создать папку журнала
            pass
        else:
            os.mkdir('%s\log'%dirpath)
        dir = '%s\log' % dirpath

        handler = TimedRotatingFileHandler(os.path.join(dir, "Clearjob.log"),when="midnight",interval=1,backupCount=20)
        formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
        handler.setFormatter(formatter)
        logger.addHandler(handler)
        logger.setLevel(logging.INFO)

        return logger

    def SvcDoRun(self):
        self.logger.info("service is run....")
        try:
            while self.run:
                self.logger.info('---Begin---')
                for path, name, file in os.walk('D:\Website'):
                    if path == 'D:\Website':
                        for IISname in name:
                            floder = []
                            for i in os.listdir(os.path.join(path, IISname)):
                                if i.isdigit():
                                    floder.append(int(i))
                            if len(floder) == 0:
                                pass
                                                         elif len (floder)> = 2: # установлен для хранения резервных копий
                                floder.sort()
                                for x in floder[:(len(floder) - 2)]:
                                    self.logger.info("delete dir: %s" % os.path.join(os.path.join(path, IISname), str(x)))
                                    shutil.rmtree(os.path.join(os.path.join(path, IISname), str(x)))

                self.logger.info('---End---')
                time.sleep(10)

        except Exception as e:
            self.logger.info(e)
            time.sleep(60)

    def SvcStop(self):
        self.logger.info("service is stop....")
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.hWaitStop)
        self.run = False


if __name__ == '__main__':
    win32serviceutil.HandleCommandLine(PythonService)

Ссылка на код

https://www.cnblogs.com/shenh/p/8931620.html

https://www.cnblogs.com/zoro-robin/p/6110188.html 

Сервисная команда

# 1. Услуги по установке

python PythonService.py install

 # 2. Пусть служба запускается автоматически

python PythonService.py --startup auto install 

 # 3. Запустите сервис

python PythonService.py start

 # 4. Перезапустите сервис

python PythonService.py restart

 # 5. Стоп сервис

python PythonService.py stop

 # 6. Удаление / удаление сервисов

python PythonService.py remove

Ошибка 1053

После того, как код работает без проблем, установите службу, но при запуске возникает ошибка 1053: служба не ответила на запрос запуска или управления своевременно

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

Найдите решение позже:

What you need to do is to add the Python27 to SYSTEM PATH, and not to USER PATH, since as a default the python service will get installed as a ‘LocalSystem’ and so when it attempts to start it uses the SYSTEM PATH variable — that’s why you can run it from the command prompt, your USER PATH is right.

Установка Python по умолчанию — LocalSystem, которая настраивает пути пользователя вместо переменных среды, поэтому вам необходимо добавить переменные среды.

Удалите путь python из пользовательской переменной и добавьте путь python в переменную окружения.

C:UserszhongjianhuiAppDataLocalProgramsPythonPython36Libsite-packagespywin32_system32;

C:UserszhongjianhuiAppDataLocalProgramsPythonPython36Libsite-packageswin32;

C:UserszhongjianhuiAppDataLocalProgramsPythonPython36Scripts;C:UserszhongjianhuiAppDataLocalProgramsPythonPython36

Служба запуска прошла успешно.

ссылкаhttps://stackoverflow.com/questions/8943371/cant-start-windows-service-written-in-python-win32serviceutil

все Служба кода Python может быть установлена, но не может запуститься

Error 1053: The service did not respond to the start or control request in a timely fashion".

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

но мне все еще интересно, есть ли решение, которое я могу решить эту ошибку в коде

мой сервис:

import win32serviceutil
import win32service
import win32event

import time
import traceback
import os

import ConfigParser
import time
import traceback
import os
import utils_func
from memcache_synchronizer import *

class MyService(win32serviceutil.ServiceFramework):
    """Windows Service."""
    os.chdir(os.path.dirname(__file__))
    conf_file_name = "memcache_sync_service.ini"
    conf_parser = ConfigParser.SafeConfigParser()
    conf_parser.read(conf_file_name)
    _svc_name_, _svc_display_name_, _svc_description_ = utils_func.get_win_service(conf_parser)

    def __init__(self, args):
        if os.path.dirname(__file__):
            os.chdir(os.path.dirname(__file__))
        win32serviceutil.ServiceFramework.__init__(self, args)

        # create an event that SvcDoRun can wait on and SvcStop can set.
        self.stop_event = win32event.CreateEvent(None, 0, 0, None)

    def SvcDoRun(self):
        self.Run()
        win32event.WaitForSingleObject(self.stop_event, win32event.INFINITE)

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.stop_event)
        LoggerInstance.log("memcache_sync service is stopped")
        self.ReportServiceStatus(win32service.SERVICE_STOPPED)
        sys.exit()

    def Run(self):
        try:
            LoggerInstance.log("n******nmemcache_sync_service is running, configuration: %sn******" % (self.conf_file_name,))
            if ((not self.conf_parser.has_section('Memcache')) or
                (not self.conf_parser.has_option('Memcache', 'check_interval'))):
                LoggerInstance.log('memcache_sync_service : no Memcache service parameters')
                self.SvcStop()

            # set configuration parameters from ini configuration
            self.check_interval = self.conf_parser.getint('Memcache', 'check_interval')

            ms = MemcacheSynchronizer()
            while 1:
                ms.Sync()
                time.sleep(self.check_interval)
        except:
            LoggerInstance.log("Unhandled Exception nt%s" % (traceback.format_exc(),))


if __name__ == '__main__':
    win32serviceutil.HandleCommandLine(MyService)

выполнить результат команды «sc query [имя]»:

SERVICE_NAME: NewsMonitoringMemcacheSynchronizer

   TYPE               : 10  WIN32_OWN_PROCESS 
   STATE              : 1  STOPPED 
                           (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
   WIN32_EXIT_CODE    : 0 (0x0)
   SERVICE_EXIT_CODE  : 0 (0x0)
   CHECKPOINT         : 0x0
   WAIT_HINT          : 0x0

Обновление:

я могу запустить эту службу в режиме отладки, cmd:

memcache_syn_service.py debug

Понравилась статья? Поделить с друзьями:
  • Qiwi steam казахстан ошибка платежа
  • Qttabbar ошибка пакета установщика windows
  • Python rtmidi install error
  • Qttabbar как изменить язык
  • Python return error code