Python ile Windows Servisi Oluşturmak
Oluşturacağımız scripti çalıştırmak için ihtiyacımız olan program; AlwaysUP
Yararlanacağımız Kütüphaneler;
pip install pywin32
pip install pyinstaller
Nesne Tabanlı Programlama mantığı ile anlaşılabilir bir dille anlatmaya çalıştım.
pywin32içeriğine değinecek olursak;
Bilmemiz gereken başlıca metodlar bulunmaktadır, bunlar:
-def SvcDoRun(self): Hizmeti başlat emri.
-def SvcStop(self): Hizmeti durdur emri.
-def start(self): Hizmet başlatılmadan önce sağlanması gereken koşulların arabirimi.
-def stop(self): Hizmet durdurulmadan önce sağlanması gereken koşulların arabirimi.
-def main(self): Programımızın işleyişini betimleyeceğimiz ana döngü.
-def parse_command_line(cls): Hizmeti yüklemek ve(ya) güncellemek için kullanılan arabirim.
Kod:
#pip install pywin32
#pip install pyinstaller
import [COLOR="red"]time[/COLOR]
import [COLOR="red"]random[/COLOR]
from [COLOR="red"]pathlib[/COLOR] import [COLOR="red"]Path[/COLOR]
from [COLOR="red"]SMWinservice [/COLOR]import [COLOR="red"]SMWinservice[/COLOR]
class [COLOR="Yellow"]emperorpython[/COLOR]([COLOR="Lime"]SMWinservice[/COLOR]):
_svc_name_ = "[COLOR="Magenta"]PythonEmperorFederico[/COLOR]"
_svc_display_name = "[COLOR="magenta"]Emperor Federico[/COLOR]"
_svc_description_ = "[COLOR="magenta"]Burası çok güzel. (?)[/COLOR]"
#def SvcDoRun(self):
#def SvcStop(self):
#def start(self):
#def stop(self):
#def main(self):
#def parse_command_line(cls):
def [COLOR="Yellow"]start[/COLOR]([COLOR="Lime"]self[/COLOR]):
self.isrunning = [COLOR="Yellow"]True[/COLOR]
def [COLOR="yellow"]stop[/COLOR]([COLOR="lime"]self[/COLOR]):
self.isrunning = [COLOR="yellow"]False[/COLOR]
def [COLOR="yellow"]main[/COLOR]([COLOR="lime"]self[/COLOR]):
i = 0
while self.isrunning:
[COLOR="red"]random[/COLOR].seed()
x = [COLOR="red"]random[/COLOR].[COLOR="red"]randint[/COLOR]([COLOR="Yellow"]1,1000000[/COLOR])
[COLOR="Lime"]Path [/COLOR]('c:\\Users\\AsusNB{x}.txt').touch()
[COLOR="Red"]time[/COLOR].sleep(5)
[COLOR="Magenta"]if [/COLOR][COLOR="Yellow"]__name__ [/COLOR]== "[COLOR="Lime"]__main__[/COLOR]":
[COLOR="yellow"]emperorpython[/COLOR].parse_command_line()
[ame="https://www.youtube.com/watch?v=DPEd2p9FhPg&feature=youtu.be"]https://www.youtube.com/watch?v=DPEd2p9FhPg&feature=youtu.be[/ame]
Son düzenleme: