Python ile Windows Servisi (Hizmeti) Oluşturmak // Emperor Federico

Emperor Federico

Katılımcı Üye
5 Ocak 2013
876
0
Route 66

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:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.