служба Python для Windows работает в режиме отладки, но не работает во время работы службы - PullRequest
0 голосов
/ 05 декабря 2018
import win32serviceutil
import win32event
import socket
import servicemanager
import win32service
import keyring
class AppServerSvc (win32serviceutil.ServiceFramework):
    _svc_name_ = "TestService"
    _svc_display_name_ = "Test Service"

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

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

    def SvcDoRun(self):
        self.ReportServiceStatus(win32service.SERVICE_RUNNING)            
        self.main()

    def main(self):         
        file = open(r"E:\books\ZPassword.txt","w")
        rc = None
        paswd=str(keyring.get_password("YourCredentialName","sowndar")) 
        while rc != win32event.WAIT_OBJECT_0:                        
            file.write(paswd)
            file.flush()
            rc = win32event.WaitForSingleObject(self.hWaitStop,5 * 1000)        
        file.write('shut down \n')
        file.close()
if __name__ == '__main__':
    win32serviceutil.HandleCommandLine(AppServerSvc)

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

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