簡體   English   中英

作為服務在后台運行Python腳本

[英]Run Python script in the background as a service

我想將python腳本作為服務運行。 為此,我按照這里的指示進行。

對於初始化腳本(myservice.sh),我照原樣復制了。

對於myservice.py,

import sys, struct
from socket import *

SIZE = 1024      # packet size

hostName = gethostbyname('0.0.0.0')

mySocket  = socket( AF_INET, SOCK_DGRAM )
mySocket.bind((hostName,18736))

repeat = True
while repeat:
   (data,addr) = mySocket.recvfrom(SIZE)
   data = struct.unpack('d',data)
   data=int(data[0])

   file = open("output.txt", "w")
   file.write(str(data))
   file.close()

當我啟動服務“ sudo /etc/init.d/myservice.sh啟動”時。 它成功啟動。

當我發送udp數據時,“ output.txt”沒有任何反應。 這里有什么問題?

此過程正式稱為守護Python腳本。

我將假設您的初始化腳本和代碼都正常工作,這可能是一個問題。

但是,除此問題外,在守護Python腳本時使用logger類。 嘗試以一種粗略的方式自己為后台進程實現日志記錄存在太多問題。

這與您提供的示例鏈接相同,請查看以下原因: 在Python守護進程中維護日志記錄和/或stdout / stderr

暫無
暫無

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

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