Возникли проблемы при работе с Windows Service и Python - PullRequest
0 голосов
/ 28 октября 2018

У меня есть скрипт на python, который делает скриншоты через каждые 5 минут, когда я запускаю его в командной строке, он работает хорошо, он делает скриншоты и сохраняет его в папке, как я хочу.Затем я создал исполняемый файл этого скрипта, он также отлично работает.Но настоящая проблема возникает, когда я пытаюсь запустить свой исполняемый файл как сервис.Я хочу, чтобы этот сценарий запускался при запуске и в фоновом режиме, поэтому я использую для этого nssm (диспетчер служб без присоски).Но когда я создаю сервис и запускаю его, он запускается, но не делает снимок экрана.В папке нет файлов.

Вот мой код для снимков экрана:

import datetime
import os
import sys
import time
import pyautogui
import schedule
def TakeSS():
   TodayDate = datetime.datetime.now()
   while True:
       TodayDate = datetime.datetime.now()  
       if (TodayDate.hour==21):
           break
       CurrentFolder = os.getcwd()
       fp = CurrentFolder +"\\" + TodayDate.strftime('%Y%m%d')
       if os.path.exists(fp):
           pass;
       else:
           os.mkdir(fp)
       # Take screensot
      pic = pyautogui.screenshot()
      #Name the file with data and time
      ts = time.strftime("%Y%m%d-%H%M%S")
      filename = "screenshot"
      filename += str(ts)
      filename += ".png"
      # Save the image
      pic.save('{}\\{}'.format(fp,filename))
      time.sleep(300)

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

Кстати, у меня есть основной файл, из которого я вызываю оба этих скрипта.Спасибо.

...