簡體   English   中英

如何像運行Windows服務一樣運行python服務腳本?

[英]How can I run python service script like a running windows service?

我使用Pyinstaller將Python腳本轉換為exe格式。然后我編寫了另一個python代碼來運行該exe,但我不想這樣做。 我要用戶單擊service.exe,程序運行類似於Windows服務。 我的服務代碼只是檢查其是否正在運行的簡單示例。 我的run.exe文件具有管理代碼,這意味着您必須使用“以管理員身份運行”選項來運行它。 但是我也不想這樣。 有什么辦法可以解決這些問題?

我的服務代碼:


import time
from pathlib import Path
import win32serviceutil


class Service(win32serviceutil.ServiceFramework):
    _svc_name_ = "Service"
    _svc_display_name_ = "Service"
    _svc_description_ = "a"

    def start(self):
        self.isrunning = True

    def stop(self):
        self.isrunning = False

    def main(self):


        while self.isrunning:

            Path(f'C:\\Users\\lenovo\\Desktop\\1.txt').touch()
            time.sleep(5)
    def parse_command_line(cls):

        win32serviceutil.HandleCommandLine(cls)

if __name__ == '__main__':
    Service.parse_command_line(Service)

我的運行服務代碼:


import os 
path=os.getcwd()
command='"sc create MyService binpath="'+path+'\\Service.exe" start=auto"'
os.system(command)


創建一個簡單的批處理腳本以啟動python腳本。

例如:

SET PATH=%PATH%;X:\PATH_TO_PYTHON
python yourscript.py
PAUSE

僅當未設置環境變量時才需要“ SET PATH ...”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM