A venit la mine în dimineața asta dacă sunt sau nu (și poate pur și simplu dorința irezistibilă) de a face un cuplu de servicii Windows de la Python-script-uri. Un pic săpat în „Internet“ Am constatat că exercitarea nu este atât de dificil și, în plus, există deja moduri. doi. Deci, amanta într-o notă.
Rețeta întâi. pentru pretentios
Aceasta reteta vă permite să pregătească un serviciu Windows, nu numai de la un script Python, dar, de asemenea, în general, de orice program. Pentru prepararea de nevoie:
În cazul în care toate ingredientele sunt prezente, atunci este de până la mic - pentru a se amestecă, se agită pentru a utiliza pentru a conecta totul împreună, ce fac următoarele:
- Execută linia de comandă
unde
Notă calea spre necesitatea de a specifica srvany.exe tot drumul!
După cum sa menționat mai sus, utilizarea instserv.exe opțional, în schimb, este posibilă utilizarea de utilitate standard, SC. Dacă utilizați acest utilitar din linia de comandă, procedați în felul următor:
unde
Atenție! Calea către srvany.exe trebuie să specifice complet. După binpath = trebuie să fie un spațiu, în caz contrar nu va funcționa!
Atenție! Slash trebuie să fie dublu.
Dacă creați un serviciu nu un Python-script, aplicația trebuie să conțină o cale cheie pentru aplicația pe care doriți să ruleze ca un serviciu Windows, și AppDirectory și AppParametrs directorul de lucru și setările în consecință.
Reteta a doua. gurmand
De ce Gourmet? Deoarece această rețetă, în primul rând, presupune pregătirea serviciului fără utilizarea unor instrumente terțe părți, iar al doilea, se realizează cu ajutorul Windows API cu toate însoțitor (de exemplu, să permită, de exemplu, pentru a efectua acțiunile necesare în cazul în care serviciul se oprește, sau pentru a înregistra tot ce aveți nevoie pentru a Jurnal de evenimente). Pentru prepararea de nevoie:
- PyWin32 (spun în mod confidențial că exemplul punerii în aplicare a serviciului este prezent în demo-script acest pachet, pur și simplu nu toate dintre ele uitat)
- hands.dll
Când toate pregătirile necesare sunt finalizate, puteți începe scrierea de cod. Ar trebui să arate aproximativ așa: